The Fib multimedia system
Fib is a system for storing multimedia data (like images or films).
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
iVariableUser.h
Go to the documentation of this file.
1 /**
2  * @class iVariableUser
3  * file name: iVariableUser.h
4  * @author Betti Oesterholz
5  * @date 16.11.2009
6  * @mail webmaster@BioKom.info
7  *
8  * System: C++
9  *
10  * This interface is for elements that uses variables of the type
11  * cFibVariable.
12  *
13  * Copyright (C) @c LGPL3 2009 Betti Oesterholz
14  *
15  * This program is free software: you can redistribute it and/or modify
16  * it under the terms of the GNU Lesser General Public License (LGPL) as
17  * published by the Free Software Foundation, either version 3 of the
18  * License, or any later version.
19  *
20  * This program is distributed in the hope that it will be useful,
21  * but WITHOUT ANY WARRANTY; without even the implied warranty of
22  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23  * GNU Lesser General Public License for more details.
24  *
25  * You should have received a copy of the GNU Lesser General Public License
26  * along with this program. If not, see <http://www.gnu.org/licenses/>.
27  *
28  * @pattern observer
29  * This interface is for elements that uses variables of the type
30  * cFibVariable.
31  * It defines methods which variables can use to commuicate with such
32  * elements.
33  *
34  */
35 /*
36 History:
37 16.11.2009 Oesterholz created
38 */
39 
40 #ifndef ___I_VARIABLE_USER_H__
41 #define ___I_VARIABLE_USER_H__
42 
43 
44 #include "version.h"
45 
46 
47 namespace fib{
48 
49 
50 class cFibElement;//cyclic dependencie
51 class cFibVariable;//cyclic dependencie
52 
54 
55 friend class cFibVariable;
56 
57 protected:
58  /**
59  * @return the fib -element which uses the variables of this element
60  */
61  virtual cFibElement * getVariableUsingFibElement() const = 0;
62 
63  /**
64  * This method deletes all occurenc of the given variable from this
65  * element. So the variable is not used anymore of this element.
66  * Beware: This element has to be unregisterd (call
67  * unregisterUsingElement() ) at the pVariable seperatly. Do this directly
68  * befor or after calling this method.
69  *
70  * @param pVariable the variable which is to delete from this element
71  * @return true if the variable dosn't occure anymore in this element,
72  * else false
73  */
74  virtual bool deleteVariable( cFibVariable * pVariable ) = 0;
75 
76 
77 };
78 
79 
80 
81 
82 }//namespace fib
83 
84 #endif