source: vendor/nemo/current/NEMOGCM/EXTERNAL/XIOS/src/node/method.hpp @ 44

Last change on this file since 44 was 44, checked in by cholod, 12 years ago

Load NEMO_TMP into vendor/nemo/current.

File size: 2.8 KB
Line 
1#ifndef __XMLIO_CMethod__
2#define __XMLIO_CMethod__
3
4namespace xios
5{
6      /// ////////////////////// Déclarations ////////////////////// ///
7
8      class CMethodGroup;
9      class CMethodAttributes;
10      class CBaseMethod;
11      class CMethod;
12
13      ///--------------------------------------------------------------
14
15      // Declare/Define CMethodAttribute
16      BEGIN_DECLARE_ATTRIBUTE_MAP(CMethod)
17#include "method_attribute.conf"
18      END_DECLARE_ATTRIBUTE_MAP(CMethod)
19
20      ///--------------------------------------------------------------
21
22      class CBaseMethod
23      { // Declare CMethod functionalities
24         public :
25
26            /// Constructeur et Destructeur ///
27            CBaseMethod(void);
28            ~CBaseMethod(void);
29
30      }; // class CBaseMethod
31
32      ///--------------------------------------------------------------
33
34      class CMethod
35         : public CObjectTemplate<CMethod>
36         , public CMethodAttributes
37         , public CBaseMethod
38      {
39            /// typedef ///
40            typedef CObjectTemplate<CMethod>   SuperClass;
41            typedef CMethodAttributes SuperClassAttribute;
42            typedef CBaseMethod       SuperClassBase;
43
44         public :
45
46            typedef CMethodAttributes RelAttributes;
47            typedef CMethodGroup      RelGroup;
48
49            /// Constructeurs ///
50            CMethod(void);
51            explicit CMethod(const StdString & id);
52            CMethod(const CMethod & method);       // Not implemented yet.
53            CMethod(const CMethod * const method); // Not implemented yet.
54
55            /// Destructeur ///
56            virtual ~CMethod(void);
57
58            /// Accesseurs statiques ///
59            static inline StdString GetName(void);
60            static inline StdString GetDefName(void);
61
62      }; // class CMethod
63
64      ///--------------------------------------------------------------
65
66      // Declare/Define CMethodGroup and CMethodDefinition
67      DECLARE_GROUP(CMethod);
68
69      /// ////////////////////// Définitions ////////////////////// ///
70
71      CBaseMethod::CBaseMethod(void)
72      { /* Ne rien faire de plus */ }
73
74      CBaseMethod::~CBaseMethod(void)
75      { /* Ne rien faire de plus */ }
76
77      ///--------------------------------------------------------------
78
79      CMethod::CMethod(void)
80         : CObjectTemplate<CMethod>()
81         , CMethodAttributes()
82         , CBaseMethod()
83      { /* Ne rien faire de plus */ }
84
85      CMethod::CMethod(const StdString & id)
86         : CObjectTemplate<CMethod>(id)
87         , CMethodAttributes()
88         , CBaseMethod()
89      { /* Ne rien faire de plus */ }
90
91      CMethod::~CMethod(void)
92      { /* Ne rien faire de plus */ }
93
94      StdString CMethod::GetName(void)   { return (StdString("method")); }
95      StdString CMethod::GetDefName(void){ return (CMethod::GetName()); }
96
97} // namespace xios
98
99#endif // __XMLIO_CMethod__
Note: See TracBrowser for help on using the repository browser.