00001 //*************************************************************************************** 00002 // 00003 // File supervisor: Softimage 3D Games & 3D Bridge team 00004 // 00005 // (c) Copyright 1999-2002 Avid Technology, Inc. . All rights reserved. 00006 // 00007 // dotXSIParam.h | Main header file for CdotXSIParam implementation 00008 //*************************************************************************************** 00009 00010 /**************************************************************************************** 00011 THIS CODE IS PUBLISHED AS A SAMPLE ONLY AND IS PROVIDED "AS IS". 00012 IN NO EVENT SHALL SOFTIMAGE, AVID TECHNOLOGY, INC. AND/OR THEIR RESPECTIVE 00013 SUPPLIERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY 00014 DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 00015 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 00016 CONNECTION WITH THE USE OR PERFORMANCE OF THIS CODE . 00017 00018 COPYRIGHT NOTICE. Copyright © 1999-2002 Avid Technology Inc. . All rights reserved. 00019 00020 SOFTIMAGE is a registered trademark of Avid Technology Inc. or its subsidiaries 00021 or divisions. Windows NT is a registered trademark of Microsoft Corp. All other 00022 trademarks contained herein are the property of their respective owners. 00023 ****************************************************************************************/ 00024 00025 //*************************************************************************************** 00026 // Defines 00027 //*************************************************************************************** 00028 #ifndef __DOTXSIPARAM_H 00029 #define __DOTXSIPARAM_H 00030 00031 //*************************************************************************************** 00032 // Includes 00033 //*************************************************************************************** 00034 #include "SIBCNode.h" 00035 #include "SIBCString.h" 00036 00037 //*************************************************************************************** 00038 // CdotXSIParam | holds a prameter value of all the supported types (SI_TinyVariant) 00039 // public | CSIBCNode 00040 //*************************************************************************************** 00041 00043 00047 class XSIEXPORT CdotXSIParam : public CSIBCNode 00048 { 00049 public: 00050 00051 enum 00052 { 00053 UNFORMATTED = 1 00054 }; 00055 00059 CdotXSIParam(); 00060 00070 CdotXSIParam( CSIBCString *i_sName, SI_Int i_nVariantType ); 00071 00081 CdotXSIParam( SI_Char *i_sName, SI_Int i_nVariantType ); 00082 00095 CdotXSIParam( CSIBCString *i_sName, SI_Int i_nVariantType, SI_Int i_nTweakType ); 00096 00109 CdotXSIParam( SI_Char *i_sName, SI_Int i_nVariantType, SI_Int i_nTweakType ); 00110 00120 CdotXSIParam( CSIBCString *i_sName, SI_TinyVariant i_vValue ); 00121 00131 CdotXSIParam( SI_Char *i_sName, SI_TinyVariant i_vValue ); 00132 00136 virtual ~CdotXSIParam(); 00137 00141 SI_Void GetValue( SI_TinyVariant *o_vValue ); 00142 00147 SI_Void SetValue( SI_TinyVariant i_vValue ); 00148 00153 SI_TinyVariant* GetVariantPtr(){ return &m_vValue; } // Get Ptr to the stored variant. 00154 00159 SI_Void InitializeVarValue( SI_TinyVariant *i_pValue ); 00160 00164 SI_Void InitializeDefaultVarValue(); 00165 00166 CdotXSIParam* Clone(); 00167 void Serialize(CSIBCString& in_szBuffer); 00168 void UnSerialize(CSIBCString& in_szBuffer); 00169 00170 private: 00171 SI_Void ClearVariant(); // Clears the content of the variant 00172 00173 SI_TinyVariant m_vValue; 00174 }; 00175 00176 //*************************************************************************************** 00177 // Global Functions 00178 //*************************************************************************************** 00179 XSIEXPORT CdotXSIParam* CreatedotXSIParam(); // Allocate a CdotXSIParam 00180 XSIEXPORT void AllocateLocalXSIArray(SI_TinyVariant*, SI_Long); // Allocate a Val array in the biven TinyVariant 00181 CSIBCString GetNextSerializedToken ( CSIBCString &in_szString ); 00182 #endif // __DOTXSIPARAM_H