SL_String.h

00001 //***************************************************************************************
00002 //
00003 // File supervisor: Softimage 3D Games & 3D Bridge team
00004 //
00005 // (c) Copyright 2001-2002 Avid Technology, Inc. . All rights reserved.
00006 //
00007 //***************************************************************************************
00008 
00009 /****************************************************************************************
00010 THIS CODE IS PUBLISHED AS A SAMPLE ONLY AND IS PROVIDED "AS IS".
00011 IN NO EVENT SHALL SOFTIMAGE, AVID TECHNOLOGY, INC. AND/OR THEIR RESPECTIVE
00012 SUPPLIERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
00013 DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
00014 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
00015 CONNECTION WITH THE USE OR PERFORMANCE OF THIS CODE .
00016 
00017 COPYRIGHT NOTICE. Copyright © 1999-2002 Avid Technology Inc. . All rights reserved. 
00018 
00019 SOFTIMAGE is a registered trademark of Avid Technology Inc. or its subsidiaries 
00020 or divisions. Windows NT is a registered trademark of Microsoft Corp. All other
00021 trademarks contained herein are the property of their respective owners. 
00022 ****************************************************************************************/
00023 
00024 #ifndef _SL_STRING_H
00025 #define _SL_STRING_H
00026 
00027 #include <SIBCUtil.h>       // SI_Int, SI_Float and other basic types 
00028 #include <dotXSITemplate.h> // CdotXSITemplate
00029 
00031 class XSIEXPORT CSLStringProxy
00032 {
00033 public:
00038     CSLStringProxy(CdotXSITemplate *in_pTemplate, SI_Int in_Index );
00039 
00042     CSLStringProxy();
00043 
00049     SI_Error Connect(CdotXSITemplate *in_pTemplate, SI_Int in_nIndex );
00050 
00055     CSLStringProxy& operator =(const CSLStringProxy &in_Value);
00056 
00061     CSLStringProxy& operator =(const char* in_Value);
00062 
00068     SI_Bool operator ==(const CSLStringProxy& in_ToCompare);
00069 
00075     SI_Bool operator ==(const char* in_ToCompare);
00076 
00078     operator char* ();
00079 
00080 private:
00081     char** m_ppValue;
00082 
00083     // disable copy constructor
00084     CSLStringProxy( const CSLStringProxy &in_ToCopy ){};
00085 };
00086 
00087 #endif