source: XMLIO_V2/dev/dev_rv/src/node/domain.hpp @ 141

Last change on this file since 141 was 141, checked in by hozdoba, 13 years ago

Mise à jour depuis un autre dépôt

File size: 2.7 KB
Line 
1#ifndef __XMLIO_CDomain__
2#define __XMLIO_CDomain__
3
4/// xmlioserver headers ///
5#include "xmlioserver_spl.hpp"
6#include "group_factory.hpp"
7#include "mask.hpp"
8
9#include "declare_group.hpp"
10
11namespace xmlioserver
12{
13   namespace tree
14   {
15      /// ////////////////////// Déclarations ////////////////////// ///
16
17      class CDomainGroup;
18      class CDomainAttributes;
19      class CDomain;
20
21      ///--------------------------------------------------------------
22
23      // Declare/Define CDomainAttribute
24      BEGIN_DECLARE_ATTRIBUTE_MAP(CDomain)
25      #include "../config/domain_attribute.conf"
26      END_DECLARE_ATTRIBUTE_MAP(CDomain)
27
28      ///--------------------------------------------------------------
29
30      class CDomain
31         : public CObjectTemplate<CDomain>
32         , public CDomainAttributes
33      {
34            /// typedef ///
35            typedef CObjectTemplate<CDomain>   SuperClass;
36            typedef CDomainAttributes SuperClassAttribute;
37
38         public :
39
40            typedef CDomainAttributes RelAttributes;
41            typedef CDomainGroup      RelGroup;
42
43            /// Constructeurs ///
44            CDomain(void);
45            explicit CDomain(const StdString & id);
46            CDomain(const CDomain & domain);       // Not implemented yet.
47            CDomain(const CDomain * const domain); // Not implemented yet.
48
49            /// Vérifications ///
50            void checkAttributes(void);
51
52         private :
53
54            virtual void checkGlobalDomain(void);
55
56            virtual void checkLocalIDomain(void);
57            virtual void checkLocalJDomain(void);
58
59            virtual void checkMask(void);
60            virtual void checkDomainData(void);
61            virtual void checkCompression(void);
62
63            virtual void completeMask(void);
64
65         public :
66
67            /// Accesseurs ///
68            boost::shared_ptr<CMask> getLocalMask(void) const;
69            const std::set<StdString> & getRelFiles(void) const;
70
71            /// Test ///
72            bool IsWritten(const StdString & filename) const;
73
74            /// Mutateur ///
75            void addRelFile(const StdString & filename);
76
77            /// Destructeur ///
78            virtual ~CDomain(void);
79
80            /// Accesseurs statiques ///
81            static StdString GetName(void);
82            static StdString GetDefName(void);
83
84          private :
85
86            /// Proriétés protégées ///
87            bool isChecked;
88            boost::shared_ptr<CMask> local_mask;
89            std::set<StdString> relFiles;
90
91      }; // class CDomain
92
93      ///--------------------------------------------------------------
94
95      // Declare/Define CDomainGroup and CDomainDefinition
96      DECLARE_GROUP(CDomain);
97
98   } // namespace tree
99} // namespace xmlioserver
100
101#endif // __XMLIO_CDomain__
Note: See TracBrowser for help on using the repository browser.