SL_String.h

00001 //***************************************************************************************
00002 //
00003 // File supervisor: Crosswalk team
00004 //
00005 // Copyright 2008 Autodesk, Inc.  All rights reserved.  
00006 // Use of this software is subject to the terms of the Autodesk license agreement 
00007 // provided at the time of installation or download, or which otherwise accompanies 
00008 // this software in either electronic or hard copy form.
00009 //
00010 //***************************************************************************************
00011 
00012 #ifndef _SL_STRING_H
00013 #define _SL_STRING_H
00014 
00015 #include <SIBCUtil.h>       // SI_Int, SI_Float and other basic types 
00016 #include <dotXSITemplate.h> // CdotXSITemplate
00017 
00019 class XSIEXPORT CSLStringProxy
00020 {
00021 public:
00026     CSLStringProxy(CdotXSITemplate *in_pTemplate, SI_Int in_Index );
00027 
00030     CSLStringProxy();
00031 
00037     SI_Error Connect(CdotXSITemplate *in_pTemplate, SI_Int in_nIndex );
00038 
00043     CSLStringProxy& operator =(const CSLStringProxy &in_Value);
00044 
00049     CSLStringProxy& operator =(const char* in_Value);
00050 
00056     SI_Bool operator ==(const CSLStringProxy& in_ToCompare);
00057 
00063     SI_Bool operator ==(const char* in_ToCompare);
00064 
00066     operator char* ();
00067 
00068 private:
00069     char** m_ppValue;
00070 
00071     // disable copy constructor
00072     CSLStringProxy( const CSLStringProxy &in_ToCopy ){};
00073 };
00074 
00075 #endif