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