xsi_siobject.h
Go to the documentation of this file.
00001 //*****************************************************************************
00011 //*****************************************************************************
00012 
00013 #if (_MSC_VER > 1000) || defined(SGI_COMPILER)
00014 #pragma once
00015 #endif
00016 
00017 #ifndef __XSISIOBJECT_H__
00018 #define __XSISIOBJECT_H__
00019 
00020 #include <xsi_base.h>
00021 
00022 namespace XSI {
00023 
00024 class Application;
00025 
00026 //*****************************************************************************
00064 //*****************************************************************************
00065 
00066 class SICPPSDKDECL SIObject : public CBase
00067 {
00068 public:
00070     SIObject();
00071 
00073     ~SIObject();
00074 
00078     SIObject(const CRef& in_ref);
00079 
00083     SIObject(const SIObject& in_obj);
00084 
00089     bool IsA( siClassID in_ClassID) const;
00090 
00094     siClassID GetClassID() const;
00095 
00101     SIObject& operator=(const SIObject& in_obj);
00102 
00108     SIObject& operator=(const CRef& in_ref);
00109 
00113     Application GetApplication() const;
00114 
00118     CString GetFullName() const;
00119 
00123     CString GetName() const;
00124 
00130     CStatus PutName(const CString& in_name);
00131 
00132     /* \deprecated Provided for backward compatibility only,
00133     */
00134     CStatus PutName(CString& in_name);
00135 
00139     CString GetUniqueName() const;
00140 
00144     CString GetType() const;
00145 
00151     CRef    GetParent() const;
00152 
00157     bool    IsEqualTo( const CRef& in_ref) const;
00158 
00163     CString GetHelp() const;
00164 
00169     CString GetOriginPath() const;
00170 
00175     siInstallationPath GetOrigin() const;
00176 
00181     CStringArray GetCategories() const;
00182 
00241     CRefArray GetNestedObjects() const;
00242 
00243     private:
00244     SIObject * operator&() const;
00245     SIObject * operator&();
00246 };
00247 
00248 //*****************************************************************************
00270 //*****************************************************************************
00271 class SICPPSDKDECL CSIObjectRefArray : public CRefArray
00272 {
00273     public:
00274 
00276     CSIObjectRefArray();
00277 
00281     CSIObjectRefArray( const CSIObjectRefArray& );
00282 
00284     ~CSIObjectRefArray();
00285 
00290     CSIObjectRefArray& operator=( const CSIObjectRefArray& in_refArray );
00291 
00300     CRef GetItem( const CString& in_name ) const;
00301 
00306     void Add( const CRef& in_item );
00307 
00312     void RemoveItem( const CString& in_name );
00313 };
00314 
00315 };
00316 
00317 #endif // __XSISIOBJECT_H__