source: XIOS/dev/dev_ym/XIOS_SERVICES/src/object.hpp @ 1780

Last change on this file since 1780 was 1761, checked in by ymipsl, 5 years ago

implementing first guess for service functionnalities.

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: 1.6 KB
RevLine 
[591]1#ifndef __XIOS_CObject__
2#define __XIOS_CObject__
[219]3
[591]4/// XIOS headers ///
5#include "xios_spl.hpp"
[219]6
[335]7namespace xios
[219]8{
[769]9  /// ////////////////////// Déclarations ////////////////////// ///
[219]10
[769]11  class CObject
12  {
13    public:
14      /// Destructeur ///
15      virtual ~CObject(void);
[219]16
[769]17      /// Accesseurs ///
18      const StdString& getId(void) const;
[1761]19      virtual const StdString& getIdServer() ;
20      virtual const StdString& getIdServer(int nsrvPool) ;
[219]21
[1622]22      virtual StdString dumpClassAttributes(void);
23
[769]24      /// Mutateurs ///
25      void resetId(void);
26      void setId(const StdString& id, bool idAutoGenerated = false);
[511]27
[769]28      /// Tests ///
29      bool hasId(void) const;
30      bool hasAutoGeneratedId(void) const;
[219]31
[769]32      /// Opérateurs ///
33      // bool operator==(const CObject& other) const;
34      // bool operator!=(const CObject& other) const;
[219]35
[769]36      /// Flux ///
37      friend StdOStream& operator<<(StdOStream& os, const CObject& object);
[219]38
[769]39      /// Autres ///
40      virtual StdString toString(void) const = 0;
41      virtual void fromString(const StdString& str) = 0;
[219]42
[769]43    protected:
44      /// Constructeurs ///
45      CObject(void);
46      explicit CObject(const StdString& id, bool idAutoGenerated = false);
47      CObject(const CObject& object);
48      CObject(const CObject* const object); // Not implemented.
[219]49
[769]50    private:
51      /// Propriétés ///
52      StdString id;   // identifiant de l'Object
53      bool idDefined; // true si l'object est identifié, false sinon.
54      bool idAutoGenerated; //!< true if and only the id was automatically generated
55  }; // class CObject
[335]56} // namespace xios
[219]57
[591]58#endif // __XIOS_CObject__
Note: See TracBrowser for help on using the repository browser.