Safir SDK Core
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
LibraryParameters.h
Go to the documentation of this file.
1 #ifndef SAFIR_TIME_LIBRARYPARAMETERS_H_INCLUDED
2 #define SAFIR_TIME_LIBRARYPARAMETERS_H_INCLUDED
3 
8 
10 
11 #ifdef _MSC_VER
12 #ifdef DOTS_GENERATED_CPP_EXPORTS
13 #define GENERATED_API __declspec(dllexport)
14 #else
15 #define GENERATED_API __declspec(dllimport)
16 #ifdef _DEBUG
17 #pragma comment( lib, "dots_generated-Safir-cppd.lib" )
18 #else
19 #pragma comment( lib, "dots_generated-Safir-cpp.lib" )
20 #endif
21 #endif
22 #endif
23 #ifdef __GNUC__
24 #define GENERATED_API
25 #endif
26 
30 namespace Safir
31 {
35 namespace Time
36 {
37 
38  class LibraryParameters; //forward declaration
39  typedef boost::shared_ptr<LibraryParameters> LibraryParametersPtr;
40  typedef boost::shared_ptr<const LibraryParameters> LibraryParametersConstPtr;
41 
44 
49  class GENERATED_API LibraryParameters : public Safir::Dob::Parametrization
50  {
51  public:
52  //Constructors and Create routines
54  virtual Safir::Dob::Typesystem::ObjectPtr Clone() const;
55  static LibraryParametersPtr Create();
56 
57  //LibraryName
62  static std::wstring LibraryName();
63 
64  //UtcTimeFunctionName
69  static std::wstring UtcTimeFunctionName();
70 
71  //LocalTimeOffsetFunctionName
76  static std::wstring LocalTimeOffsetFunctionName();
77 
79  static const Safir::Dob::Typesystem::TypeId ClassTypeId = 6901723808460309067LL;
80 
81  //Type id for LibraryParameters
82  virtual Safir::Dob::Typesystem::TypeId GetTypeId() const {return ClassTypeId;}
83 
84  //Check if anything in the object has change flags set
85  virtual bool IsChanged();
86 
87  //Recursively set all change flags in the object
88  virtual void SetChanged(const bool changed);
89 
90 
91  //Reflection part (Don't use unless you really know what you're doing!!)
95  const Safir::Dob::Typesystem::ArrayIndex index) const;
96 
97  virtual Safir::Dob::Typesystem::Int32 CalculateBlobSize() const;
98  virtual void WriteToBlob(char * blob, char * & beginningOfUnused) const;
99  explicit LibraryParameters(char const * const blob);
100 
101  private:
102 
103 #ifdef _MSC_VER
104 #pragma warning (push)
105 #pragma warning (disable : 4251)
106 #endif
107 
108 
109 #ifdef _MSC_VER
110 #pragma warning (pop)
111 #endif
112  };
113 
114 } // Time
115 } // Safir
116 
117 #endif
118 
boost::shared_ptr< const LibraryParameters > LibraryParametersConstPtr
Definition: LibraryParameters.h:40
virtual Safir::Dob::Typesystem::TypeId GetTypeId() const
Get the type id of this object.
Definition: LibraryParameters.h:82
DotsC_TypeId TypeId
A unique type identifier.
Definition: Dob/Typesystem/Defs.h:221
Template class for all containers of automatically generated DOB objects.
Definition: ObjectContainer.h:185
boost::shared_ptr< Object > ObjectPtr
A smart pointer to an Object.
Definition: Object.h:41
DotsC_ArrayIndex ArrayIndex
Index into an array.
Definition: Dob/Typesystem/Defs.h:249
Safir::Dob::Typesystem::ArrayContainer< LibraryParametersContainer > LibraryParametersContainerArray
Definition: LibraryParameters.h:43
This class is intended to be used as baseclass for classes that only contains parameters.
Definition: Parametrization.h:48
Base class for all Containers.
Definition: ContainerBase.h:41
Safir::Dob::Typesystem::ObjectContainerImpl< LibraryParameters > LibraryParametersContainer
Definition: LibraryParameters.h:42
boost::shared_ptr< LibraryParameters > LibraryParametersPtr
Definition: LibraryParameters.h:38
STL container for arrays of DOB-containers.
Definition: ArrayContainer.h:58
DotsC_Int32 Int32
32 bit integer type.
Definition: Dob/Typesystem/Defs.h:69
DotsC_MemberIndex MemberIndex
The index of a member in an object.
Definition: Dob/Typesystem/Defs.h:240
static bool IsChanged(const ContainerBase &container)
Check if a container is changed.
Definition: ContainerBase.h:134
Defines parameters for the time provider library.
Definition: LibraryParameters.h:49