dotXSIParam.h

Go to the documentation of this file.
00001 //***************************************************************************************
00002 // File supervisor: Crosswalk team
00012 //***************************************************************************************
00013 
00014 //***************************************************************************************
00015 // Defines
00016 //***************************************************************************************
00017 #ifndef __DOTXSIPARAM_H
00018 #define __DOTXSIPARAM_H
00019 
00020 //***************************************************************************************
00021 // Includes
00022 //***************************************************************************************
00023 #include "SIBCNode.h"
00024 #include "SIBCString.h"
00025 
00026 //***************************************************************************************
00027 // CdotXSIParam | holds a prameter value of all the supported types (SI_TinyVariant)
00028 // public | CSIBCNode
00029 //***************************************************************************************
00030 
00037 class XSIEXPORT CdotXSIParam : public CSIBCNode
00038 {
00039 public:
00040 
00041     enum
00042     {
00043         UNFORMATTED = 1
00044     };
00045 
00049     CdotXSIParam();
00050 
00060     CdotXSIParam( CSIBCString *i_sName, SI_Int i_nVariantType );
00061 
00071     CdotXSIParam( SI_Char *i_sName, SI_Int i_nVariantType );
00072 
00085     CdotXSIParam( CSIBCString *i_sName, SI_Int i_nVariantType, SI_Int i_nTweakType );
00086 
00099     CdotXSIParam( SI_Char *i_sName, SI_Int i_nVariantType, SI_Int i_nTweakType );
00100 
00110     CdotXSIParam( CSIBCString *i_sName, SI_TinyVariant i_vValue );
00111 
00121     CdotXSIParam( SI_Char *i_sName, SI_TinyVariant i_vValue );
00122 
00126     virtual ~CdotXSIParam();
00127 
00131     SI_Void GetValue( SI_TinyVariant *o_vValue );
00132 
00136     SI_Void SetValue( SI_TinyVariant i_vValue );
00137 
00142     SI_TinyVariant* GetVariantPtr(){ return &m_vValue; }                                // Get Ptr to the stored variant.
00143 
00148     SI_Void InitializeVarValue( SI_TinyVariant *i_pValue );
00149 
00153     SI_Void InitializeDefaultVarValue();
00154 
00155     CdotXSIParam*   Clone();
00156     void            Serialize(CSIBCString& in_szBuffer);
00157     void            UnSerialize(CSIBCString& in_szBuffer);
00158 
00159 private:
00160     SI_Void ClearVariant();                                     // Clears the content of the variant
00161 
00162     SI_TinyVariant  m_vValue;
00163 };
00164 
00165 //***************************************************************************************
00166 // Global Functions
00167 //***************************************************************************************
00168 XSIEXPORT CdotXSIParam* CreatedotXSIParam();                                // Allocate a CdotXSIParam
00169 XSIEXPORT void          AllocateLocalXSIArray(SI_TinyVariant*, SI_Long);    // Allocate a Val array in the biven TinyVariant
00170 CSIBCString             GetNextSerializedToken ( CSIBCString &in_szString );
00171 #endif // __DOTXSIPARAM_H