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__