00001 // ===================================================================== 00028 // ===================================================================== 00029 #ifndef CLDAQ__TCOMMANDSPECIFIED_HH 00030 #define CLDAQ__TCOMMANDSPECIFIED_HH 00031 00032 #include "Tglobals.h" 00033 00034 class TCommand; 00035 00036 00037 00057 class TCommandSpecified 00058 { 00059 public: 00060 enum { 00061 tBuiltinDepth = -1, 00062 tAliasDepth = -2, 00063 tNotDefineDepth = 0x8fffffff 00064 }; 00065 00066 private: 00067 Tstring theName; 00068 Tstring theFullName; 00069 Tstring theAbsolutePath; 00070 Tint theDirectoryDepth; 00071 Tbool theBuiltinFlag; 00072 TCommand* theCommand; 00073 00074 public: 00075 TCommandSpecified(); 00076 TCommandSpecified( const Tstring& name, const Tstring& fullname, const Tstring& path, Tint depth, Tbool flag, TCommand* command ); 00077 TCommandSpecified( const TCommandSpecified& right ); 00078 ~TCommandSpecified(); 00079 00080 public: 00081 const TCommandSpecified& operator=( const TCommandSpecified& right ); 00082 Tbool operator==( const TCommandSpecified& right ) const; 00083 Tbool operator!=( const TCommandSpecified& right ) const; 00084 00085 public: 00086 friend Tostream& operator<<( Tostream& tos, const TCommandSpecified& right ); 00087 00088 public: 00089 const Tstring& GetName() const; 00090 const Tstring& GetFullName() const; 00091 const Tstring& GetAbsolutePath() const; 00092 Tint GetDirectoryDepth() const; 00093 Tbool IsBuiltinCommand() const; 00094 Tbool IsAliasedCommand() const; 00095 TCommand* GetCommand() const; 00096 Tvoid SetName( const Tstring& name ); 00097 Tvoid SetFullName( const Tstring& name ); 00098 Tvoid SetAbsolutePath( const Tstring& path ); 00099 Tvoid SetDirectoryDepth( Tint depth ); 00100 Tvoid SetBuiltinFlag( Tbool flag ); 00101 Tvoid SetCommand( TCommand* command ); 00102 00103 #ifdef __CLDAQ_ROOT_DLL 00104 ClassDef(TCommandSpecified,0) 00105 #endif 00106 00107 }; 00108 00109 inline const Tstring& TCommandSpecified::GetName() const 00110 { 00111 return theName; 00112 } 00113 00114 inline const Tstring& TCommandSpecified::GetFullName() const 00115 { 00116 return theFullName; 00117 } 00118 00119 inline const Tstring& TCommandSpecified::GetAbsolutePath() const 00120 { 00121 return theAbsolutePath; 00122 } 00123 00124 inline Tint TCommandSpecified::GetDirectoryDepth() const 00125 { 00126 return theDirectoryDepth; 00127 } 00128 00129 inline Tbool TCommandSpecified::IsBuiltinCommand() const 00130 { 00131 return theBuiltinFlag; 00132 } 00133 00134 inline Tbool TCommandSpecified::IsAliasedCommand() const 00135 { 00136 return theDirectoryDepth == tAliasDepth; 00137 } 00138 00139 inline TCommand* TCommandSpecified::GetCommand() const 00140 { 00141 return theCommand; 00142 } 00143 00144 inline Tvoid TCommandSpecified::SetName( const Tstring& name ) 00145 { 00146 theName = name; 00147 return; 00148 } 00149 00150 inline Tvoid TCommandSpecified::SetFullName( const Tstring& name ) 00151 { 00152 theFullName = name; 00153 return; 00154 } 00155 00156 inline Tvoid TCommandSpecified::SetAbsolutePath( const Tstring& path ) 00157 { 00158 theAbsolutePath = path; 00159 return; 00160 } 00161 00162 inline Tvoid TCommandSpecified::SetDirectoryDepth( Tint depth ) 00163 { 00164 theDirectoryDepth = depth; 00165 return; 00166 } 00167 00168 inline Tvoid TCommandSpecified::SetBuiltinFlag( Tbool flag ) 00169 { 00170 theBuiltinFlag = flag; 00171 return; 00172 } 00173 00174 inline Tvoid TCommandSpecified::SetCommand( TCommand* command ) 00175 { 00176 theCommand = command; 00177 return; 00178 } 00179 00180 #endif