source: XIOS/trunk/src/node/var.hpp @ 501

Last change on this file since 501 was 501, checked in by ymipsl, 10 years ago

Add licence copyright to all file ond directory src using the command :
svn propset -R copyright -F header_licence src

XIOS is now officialy under CeCILL licence

YM

  • Property copyright set to
    Software name : XIOS (Xml I/O Server)
    http://forge.ipsl.jussieu.fr/ioserver
    Creation date : January 2009
    Licence : CeCCIL version2
    see license file in root directory : Licence_CeCILL_V2-en.txt
    or http://www.cecill.info/licences/Licence_CeCILL_V2-en.html
    Holder : CEA/LSCE (Laboratoire des Sciences du CLimat et de l'Environnement)
    CNRS/IPSL (Institut Pierre Simon Laplace)
    Project Manager : Yann Meurdesoif
    yann.meurdesoif@cea.fr
File size: 2.7 KB
Line 
1#ifndef __XMLIO_CVar__
2#define __XMLIO_CVar__
3
4namespace xios
5{
6      /// ////////////////////// Déclarations ////////////////////// ///
7
8      class CVarGroup;
9      class CVarAttributes;
10      class CBaseVar;
11      class CVar;
12
13      ///--------------------------------------------------------------
14
15      // Declare/Define CVarAttribute
16      BEGIN_DECLARE_ATTRIBUTE_MAP(CVar)
17#include "var_attribute.conf"
18      END_DECLARE_ATTRIBUTE_MAP(CVar)
19
20      ///--------------------------------------------------------------
21
22      class CBaseVar
23      { // Declare CVar functionalities
24         public :
25
26            /// Constructeur et Destructeur ///
27            CBaseVar(void);
28            ~CBaseVar(void);
29
30      }; // class CBaseVar
31
32      ///--------------------------------------------------------------
33
34      class CVar
35         : public CObjectTemplate<CVar>
36         , public CVarAttributes
37         , public CBaseVar
38      {
39            /// typedef ///
40            typedef CObjectTemplate<CVar>   SuperClass;
41            typedef CVarAttributes SuperClassAttribute;
42            typedef CBaseVar       SuperClassBase;
43
44         public :
45
46            typedef CVarAttributes RelAttributes;
47            typedef CVarGroup      RelGroup;
48
49            /// Constructeurs ///
50            CVar(void);
51            explicit CVar(const StdString & id);
52            CVar(const CVar & var);       // Not implemented yet.
53            CVar(const CVar * const var); // Not implemented yet.
54
55            /// Destructeur ///
56            virtual ~CVar(void);
57
58            /// Accesseurs statiques ///
59            static inline StdString GetName(void);
60            static inline StdString GetDefName(void);
61
62      }; // class CVar
63
64      ///--------------------------------------------------------------
65
66      // Declare/Define CVarGroup and CVarDefinition
67      DECLARE_GROUP(CVar);
68
69      /// ////////////////////// Définitions ////////////////////// ///
70
71      CBaseVar::CBaseVar(void)
72      { /* Ne rien faire de plus */ }
73
74      CBaseVar::~CBaseVar(void)
75      { /* Ne rien faire de plus */ }
76
77      ///--------------------------------------------------------------
78
79      CVar::CVar(void)
80         : CObjectTemplate<CVar>()
81         , CVarAttributes()
82         , CBaseVar()
83      { /* Ne rien faire de plus */ }
84
85      CVar::CVar(const StdString & id)
86         : CObjectTemplate<CVar>(id)
87         , CVarAttributes()
88         , CBaseVar()
89      { /* Ne rien faire de plus */ }
90
91      CVar::~CVar(void)
92      { /* Ne rien faire de plus */ }
93
94      StdString CVar::GetName(void)   { return (StdString("var")); }
95      StdString CVar::GetDefName(void){ return (CVar::GetName()); }
96
97} // namespace xios
98
99#endif // __XMLIO_CVar__
Note: See TracBrowser for help on using the repository browser.