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