00001
00006 #ifndef __BGDNetVolume_h__
00007 #define __BGDNetVolume_h__
00008
00009 #include "BGDNetConfig.h"
00010
00011 #include <nwvol.h>
00012 #include "BGDNetShare.h"
00013 #include "BGDNetException.h"
00014 #include "BGDNetString.h"
00015
00016 namespace BGDNet
00017 {
00018
00019 class Server;
00020 class Directory;
00021
00030 class BGDNET_API Volume : public Share
00031 {
00032 public:
00033
00034 Volume( const Server* pSrv, const String& volName )
00035 throw(Exception);
00042 Volume( const Volume& v );
00047 virtual ~Volume( void );
00052 Volume& operator =( const Volume& v );
00057 const Server* srv( void ) const;
00063 const String& name( void ) const;
00069 Directory* root( void );
00075 const Directory* root( void ) const;
00081 bool supportsLongNames( void ) const;
00088 private:
00089
00090 void getRoot( void );
00095 const Server* m_pSrv;
00100 String m_volName;
00105 Directory* m_pRoot;
00110 bool m_supportsLongNames;
00114 };
00115
00116 }
00117
00118 #endif //__BGDNetVolume_h__