source: XIOS3/trunk/src/node/pool_node.hpp @ 2408

Last change on this file since 2408 was 2408, checked in by ymipsl, 21 months ago

Minimum requirement to introduce new nodes in XML tree
=> done for pool node (introducing service)
YM

  • Property svn:executable set to *
File size: 2.0 KB
Line 
1#ifndef __XIOS_CPoolNode__
2#define __XIOS_CPoolNode__
3
4#include "xios_spl.hpp"
5#include "attribute_enum.hpp"
6#include "attribute_enum_impl.hpp"
7#include "attribute_array.hpp"
8#include "declare_attribute.hpp"
9#include "object_template.hpp"
10#include "group_factory.hpp"
11#include "declare_group.hpp"
12
13
14namespace xios
15{
16  /// ////////////////////// Déclarations ////////////////////// ///
17
18  class CPoolNodeGroup;
19  class CPoolNodeAttributes;
20  class CPoolNode;
21  ///--------------------------------------------------------------
22
23  // Declare/Define CVarAttribute
24  BEGIN_DECLARE_ATTRIBUTE_MAP(CPoolNode)
25#include "pool_attribute.conf"
26  END_DECLARE_ATTRIBUTE_MAP(CPoolNode)
27
28  ///--------------------------------------------------------------
29
30  class CPoolNode: public CObjectTemplate<CPoolNode>
31               , public CPoolNodeAttributes
32  {
33      friend class CCPoolNodeGroup;
34
35      /// typedef ///
36      typedef CObjectTemplate<CPoolNode>   SuperClass;
37      typedef CPoolNodeAttributes SuperClassAttribute;
38
39    public :
40
41      typedef CPoolNodeAttributes RelAttributes;
42      typedef CPoolNodeGroup      RelGroup;
43
44      /// Constructeurs ///
45      CPoolNode(void) ;
46      explicit CPoolNode(const StdString & id);
47      CPoolNode(const CPoolNode & var);       // Not implemented yet.
48      CPoolNode(const CPoolNode * const var); // Not implemented yet.
49   
50      /// Destructeur ///
51      virtual ~CPoolNode(void);
52     
53    public :
54      /// Accesseurs statiques ///
55      static StdString GetName(void)     { return StdString("pool"); }
56      static StdString GetDefName(void)  { return StdString("pool"); }
57      static ENodeType GetType(void)     { return ePoolNode; }
58    public:
59      virtual void parse(xml::CXMLNode & node);
60
61  }; // class CPoolNode
62  ///--------------------------------------------------------------
63
64  // Declare/Define CPoolNodeGroup and CPoolNodeDefinition
65  DECLARE_GROUP(CPoolNode);
66} // namespace xios
67
68#endif // __XIOS_CPoolNode__
69
Note: See TracBrowser for help on using the repository browser.