xsi_siobject.h Source File
 
 
 
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__