📄 tmsgdirgetdircontents.h
字号:
#ifndef _TMsgDirGetDirContents_H
#define _TMsgDirGetDirContents_H
// TMsgDirGetDirContents.h
// Directory Get Directory Contents Message class. Fetches contents of a
// Directory from the Directory Server.
// Directory Get Directory Contents Reply Message class. Contains data from
// the Directory Server is response to a GetDirContents request.
#include "STRING"
#include "msg/TMessage.h"
#include "msg/ServerStatus.h"
#include "DirServerEntry.h"
// Forwards from WONSocket
namespace WONMsg {
class TMsgDirGetDirContents : public TMessage
{
public:
// Default ctor
TMsgDirGetDirContents(void);
// TMessage ctor - will throw if TMessage type is not CommDebugLevel
explicit TMsgDirGetDirContents(const TMessage& theMsgR);
// Copy ctor
TMsgDirGetDirContents(const TMsgDirGetDirContents& theMsgR);
// Destructor
~TMsgDirGetDirContents(void);
// Assignment
TMsgDirGetDirContents& operator=(const TMsgDirGetDirContents& theMsgR);
// Virtual Duplicate from TMessage
TRawMsg* Duplicate(void) const;
// Pack and Unpack the message
// Unpack will throw a BadMsgException is message is not of this type
void* Pack(void);
void Unpack(void);
// DirectoryPath access
const std::wstring& GetDirectoryPath(void) const;
void SetDirectoryPath(const std::wstring& thePath);
// Recursive access
bool GetRecursive() const;
void SetRecursive(bool theFlag);
private:
std::wstring mDirectoryPath; // Path to get
bool mRecursive; // Recursive request?
};
class TMsgDirGetDirContentsReply : public TMessage
{
public:
// Default ctor
TMsgDirGetDirContentsReply(void);
// TMessage ctor - will throw if TMessage type is not of this type
explicit TMsgDirGetDirContentsReply(const TMessage& theMsgR);
// Copy ctor
TMsgDirGetDirContentsReply(const TMsgDirGetDirContentsReply& theMsgR);
// Destructor
~TMsgDirGetDirContentsReply(void);
// Assignment
TMsgDirGetDirContentsReply& operator=(const TMsgDirGetDirContentsReply& theMsgR);
// Virtual Duplicate from TMessage
TRawMsg* Duplicate(void) const;
// Pack and Unpack the message
// Unpack will throw a BadMsgException is message is not of this type
void* Pack(void);
void Unpack(void);
// Status access
ServerStatus GetStatus() const;
void SetStatus(ServerStatus theStatus);
// Entry access (const and non-const versions)
const DirServerEntryVector& Entries() const;
DirServerEntryVector& Entries();
// Get base size of messsage
unsigned long GetBaseSize() const;
private:
ServerStatus mStatus; // Status of the request
DirServerEntryVector mEntries; // Entries returned (may be empty)
// Private methods
void PackEntry(const DirServerEntry& theEntry);
void UnpackEntry(DirServerEntry& theEntry);
};
// Inlines
inline TRawMsg*
TMsgDirGetDirContents::Duplicate(void) const
{ return new TMsgDirGetDirContents(*this); }
inline const std::wstring&
TMsgDirGetDirContents::GetDirectoryPath(void) const
{ return mDirectoryPath; }
inline void
TMsgDirGetDirContents::SetDirectoryPath(const std::wstring& thePath)
{ mDirectoryPath = thePath; }
inline bool
TMsgDirGetDirContents::GetRecursive(void) const
{ return mRecursive; }
inline void
TMsgDirGetDirContents::SetRecursive(bool theFlag)
{ mRecursive = theFlag; }
inline TRawMsg*
TMsgDirGetDirContentsReply::Duplicate(void) const
{ return new TMsgDirGetDirContentsReply(*this); }
inline ServerStatus
TMsgDirGetDirContentsReply::GetStatus() const
{ return mStatus; }
inline void
TMsgDirGetDirContentsReply::SetStatus(ServerStatus theStatus)
{ mStatus = theStatus; }
inline const DirServerEntryVector&
TMsgDirGetDirContentsReply::Entries() const
{ return mEntries; }
inline DirServerEntryVector&
TMsgDirGetDirContentsReply::Entries()
{ return mEntries; }
}; // Namespace WONMsg
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -