00001
00002
00003
00004
00005
00006
00007
00008 #ifndef TNetFolder_H
00009 #define TNetFolder_H
00010
00011 #include <RConfig.h>
00012 #if defined( R__VISUAL_CPLUSPLUS )
00013 # pragma warning( push )
00014 # pragma warning( disable : 4800 )
00015 #endif // R__VISUAL_CPLUSPLUS
00016 #include "TNamed.h"
00017 #include "TSocket.h"
00018 #include "TCollection.h"
00019 #include "TObjArray.h"
00020 #include "TFolder.h"
00021 #include "TMessage.h"
00022 #if defined( R__VISUAL_CPLUSPLUS )
00023 # pragma warning( pop )
00024 #endif // R__VISUAL_CPLUSPLUS
00025
00026 class TNetFolder : public TNamed
00027 {
00028 protected:
00029 TSocket *fSocket;
00030 size_t fFolder;
00031 Bool_t fReconnect;
00032 TString fHost;
00033 Int_t fPort;
00034
00035 public:
00036 TNetFolder();
00037 TNetFolder( char const *, char const *, TSocket * ,Bool_t reconnect=true);
00038 virtual ~TNetFolder();
00039
00040 virtual void Add( TObject * ) { Error("Add","Not available for TNetFolders"); }
00041 TFolder *AddFolder( char const *, char const *, TCollection * =0 ) { Error("AddFolder","Not available for TNetFolders"); return NULL; }
00042 virtual void Browse( TBrowser * ) { Error("Browse","Not available for TNetFolders"); }
00043 virtual void Clear( Option_t * ="" ) { Error("Clear","Not available for TNetFolders"); }
00044 virtual void Copy( TObject & ) const { MayNotUse("Copy(TObject &)"); }
00045 virtual char const *FindFullPathName( char const * );
00046 virtual TObject *FindObject( char const * ) const;
00047 virtual TObject *FindObject( const TObject* obj ) const { MayNotUse("FindObject"); return NULL; };
00048 virtual TObject *FindObjectAny( char const * ) const;
00049 TObjArray *GetListOfFolders();
00050 Bool_t IsFolder() const { return kTRUE; }
00051 virtual Int_t Occurence( TObject const * );
00052 virtual void RecursiveRemove( TObject * ) { Error("RecursiveRemove","Not available for TNetFolders"); }
00053 virtual void Remove( TObject * ) { Error("Remove","Not available for TNetFolders"); }
00054 void ExecuteCommand(const char *line);
00055 size_t GetPointer();
00056 void GetServerName(char* serverName,int serverNameSize);
00057
00058 protected:
00059
00060 void Reconnect();
00061 Bool_t Send(const TMessage& mess);
00062 Bool_t Send(const Char_t* mess, Int_t kind = kMESS_STRING);
00063 Bool_t Recv(TMessage*& mess);
00064
00065 ClassDef( TNetFolder, 0 )
00066 };
00067
00068 #endif // TNetFolder_H