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 ;
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
00359 CStatus PutScriptingName( const CString & in_Str ) ;
00360
00369 CString GetHandler() ;
00370
00375 CStatus PutHandler( const CString & ) ;
00376
00384 CString GetLanguage() ;
00385
00390 CStatus PutLanguage( const CString & ) ;
00391
00395 CString GetFileName() ;
00396
00401 CStatus PutFileName( const CString & ) ;
00402
00408 CString GetCode() ;
00414 CStatus PutCode( const CString & ) ;
00415
00420 bool IsReturnValueEnabled() ;
00421
00427 CStatus EnableReturnValue( bool ) ;
00428
00435 CString GetCategory( ) ;
00436
00440 CString GetDescription() ;
00441
00446 CStatus PutDescription( const CString & ) ;
00447
00451 CString GetTooltip() ;
00452
00456 CStatus PutTooltip( const CString & ) ;
00457
00462 CString GetUID() ;
00463
00467 bool IsEnabled() ;
00468
00473 CStatus PutEnabled( bool ) ;
00474
00478 bool IsBuiltin() ;
00479
00498 CStatus Execute( CValue& out_return ) ;
00499
00505 bool GetFlag( LONG in_whichflag ) ;
00506
00512 CStatus SetFlag( LONG in_whichflag, bool in_newvalue ) ;
00516 bool SupportsKeyAssignment() ;
00520 bool CannotBeUsedInBatch() ;
00524 bool IsNotLogged() ;
00525
00536 CStatus Update() ;
00537
00538 private:
00539 Command * operator&() const;
00540 Command * operator&();
00541 };
00542
00543
00557 class SICPPSDKDECL CommandArray : public CBase
00558 {
00559 public:
00561 CommandArray();
00562
00564 ~CommandArray();
00565
00569 CommandArray(const CRef& in_ref);
00570
00574 CommandArray(const CommandArray& in_obj);
00575
00580 bool IsA( siClassID in_ClassID) const;
00581
00585 siClassID GetClassID() const;
00586
00591 CommandArray& operator=(const CommandArray& in_obj);
00592
00598 CommandArray& operator=(const CRef& in_ref);
00599
00604 Command GetItem( LONG in_index ) const;
00605
00612 Command GetItem( const CString& in_name ) const;
00613
00618 Command operator[]( LONG in_index );
00619
00624 const Command operator[]( LONG in_index ) const;
00625
00630 LONG GetCount() const;
00631
00636 CommandArray Filter( CStringArray & in_keywords ) const ;
00637
00641 CommandArray Filter( CString & in_keyword ) const ;
00642 } ;
00643
00644 };
00645
00646 #endif // __XSICOMMAND_H__