xsi_command.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 __XSICOMMAND_H__
00018 #define __XSICOMMAND_H__
00019 
00020 #include <xsi_siobject.h>
00021 #include <xsi_value.h>
00022 
00023 namespace XSI {
00024 
00025 class ArgumentArray ; // Forward declaration
00026 
00027 //*****************************************************************************
00293 //*****************************************************************************
00294 class SICPPSDKDECL Command : public SIObject
00295 {
00296 public:
00298     Command();
00299 
00301     ~Command();
00302 
00306     Command(const CRef& in_ref);
00307 
00311     Command(const Command& in_obj);
00312 
00317     bool IsA( siClassID in_ClassID) const;
00318 
00322     siClassID GetClassID() const;
00323 
00329     Command& operator=(const Command& in_obj);
00330 
00336     Command& operator=(const CRef& in_ref);
00337 
00341     ArgumentArray GetArguments() ;
00342 
00352     CString GetScriptingName() const ;
00353 
00360     CStatus PutScriptingName( const CString & in_Str ) ;
00361 
00370     CString GetHandler() ;
00371 
00376     CStatus PutHandler( const CString & ) ;
00377 
00389     CString GetLanguage() ;
00390 
00395     CStatus PutLanguage( const CString & ) ;
00396 
00400     CString GetFileName() ;
00401 
00406     CStatus PutFileName( const CString & ) ;
00407 
00413     CString GetCode() ;
00419     CStatus PutCode( const CString & ) ;
00420 
00425     bool IsReturnValueEnabled() ;
00426 
00432     CStatus EnableReturnValue( bool ) ;
00433 
00440     CString GetCategory(  ) ;
00441 
00445     CString GetDescription() ;
00446 
00451     CStatus PutDescription( const CString & ) ;
00452 
00456     CString GetTooltip() ;
00457 
00461     CStatus PutTooltip( const CString & ) ;
00462 
00467     CString GetUID() ;
00468 
00472     bool IsEnabled() ;
00473 
00478     CStatus PutEnabled( bool ) ;
00479 
00484     bool IsBuiltin() ;
00485 
00502     CStatus Execute( CValue& out_return ) ;
00503 
00509     bool GetFlag( LONG in_whichflag )  ;
00510 
00518     CStatus SetFlag( LONG in_whichflag, bool in_newvalue )  ;
00519 
00523     bool    SupportsKeyAssignment()  ;
00527     bool    CannotBeUsedInBatch() ;
00531     bool    IsNotLogged()  ;
00532 
00543     CStatus Update()  ;
00544 
00545     private:
00546     Command * operator&() const;
00547     Command * operator&();
00548 };
00549 
00550 //*****************************************************************************
00564 class SICPPSDKDECL CommandArray : public CBase
00565 {
00566     public:
00568     CommandArray();
00569 
00571     ~CommandArray();
00572 
00576     CommandArray(const CRef& in_ref);
00577 
00581     CommandArray(const CommandArray& in_obj);
00582 
00587     bool IsA( siClassID in_ClassID) const;
00588 
00592     siClassID GetClassID() const;
00593 
00598     CommandArray& operator=(const CommandArray& in_obj);
00599 
00605     CommandArray& operator=(const CRef& in_ref);
00606 
00611     Command GetItem( LONG in_index ) const;
00612 
00619     Command GetItem( const CString& in_name ) const;
00620 
00625     Command operator[]( LONG in_index );
00626 
00631     const Command operator[]( LONG in_index ) const;
00632 
00637     LONG GetCount() const;
00638 
00644     CommandArray Filter( CStringArray & in_keywords ) const ;
00645 
00650     CommandArray Filter( CString & in_keyword ) const ;
00651 } ;
00652 
00653 };
00654 
00655 #endif // __XSICOMMAND_H__