summaryrefslogtreecommitdiff
path: root/netfs/msgtypes.h
diff options
context:
space:
mode:
Diffstat (limited to 'netfs/msgtypes.h')
-rw-r--r--netfs/msgtypes.h348
1 files changed, 0 insertions, 348 deletions
diff --git a/netfs/msgtypes.h b/netfs/msgtypes.h
deleted file mode 100644
index 0f7b3f0..0000000
--- a/netfs/msgtypes.h
+++ /dev/null
@@ -1,348 +0,0 @@
-#ifndef MSGTYPES_H
-#define MSGTYPES_H
-
-#include "smartpointer.h"
-#include "comms.h"
-#include <map>
-#include <string>
-#include <vector>
-#include <sys/stat.h>
-#include <stdint.h>
-
-typedef DataPayloadPtr (*MessageFactory)();
-typedef std::map<uint16_t, MessageFactory> MessageFactories;
-MessageFactories & MsgFacs();
-
-template <class Cls>
-class Factory {
- public:
- Factory() { MsgFacs()[Cls::TypeID] = &create; }
- static DataPayloadPtr create() {
- return new TypedPayload<Cls>();
- }
-};
-
-class ContentBase : public IsRefCounted {
- public:
- ~ContentBase() = 0;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-
-class RequestBase : public ContentBase {
- public:
- uid_t uid;
- gid_t gid;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-
-class SimpleInt : public ContentBase {
- public:
- int value;
- const static uint16_t TypeID;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-
-class AccessRequest : public RequestBase {
- public:
- std::string path;
- int access;
- const static uint16_t TypeID;
- typedef SimpleInt Reply;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-
-class GetAttrReply : public ContentBase {
- public:
- int res;
- struct stat val;
- const static uint16_t TypeID;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-
-class GetAttrRequest : public RequestBase {
- public:
- std::string path;
- const static uint16_t TypeID;
- typedef GetAttrReply Reply;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-class FgetAttrRequest : public RequestBase {
- public:
- int handle;
- const static uint16_t TypeID;
- typedef GetAttrReply Reply;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-
-class OpenDirReply : public ContentBase {
- public:
- int handle;
- int error;
- const static uint16_t TypeID;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-
-class OpenDirRequest : public RequestBase {
- public:
- std::string path;
- const static uint16_t TypeID;
- typedef OpenDirReply Reply;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-
-class CloseDirReply : public ContentBase {
- public:
- int error;
- const static uint16_t TypeID;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-
-class CloseDirRequest : public RequestBase {
- public:
- int handle;
- const static uint16_t TypeID;
- typedef CloseDirReply Reply;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-
-class ReadDirReply : public ContentBase {
- public:
- class Entry {
- public:
- std::string path;
- struct stat val;
- };
- typedef std::vector<Entry> Entries;
- int error;
- Entries entries;
- const static uint16_t TypeID;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-
-class ReadDirRequest : public RequestBase {
- public:
- int handle;
- const static uint16_t TypeID;
- typedef ReadDirReply Reply;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-
-class OpenReply : public ContentBase {
- public:
- int error;
- int handle;
- const static uint16_t TypeID;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-class OpenRequest : public RequestBase {
- public:
- std::string path;
- const static uint16_t TypeID;
- typedef OpenReply Reply;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-class CreateRequest : public RequestBase {
- public:
- std::string path;
- mode_t mode;
- const static uint16_t TypeID;
- typedef OpenReply Reply;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-class CloseReply : public ContentBase {
- public:
- int error;
- const static uint16_t TypeID;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-class CloseRequest : public RequestBase {
- public:
- int handle;
- const static uint16_t TypeID;
- typedef CloseReply Reply;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-class ReadReply : public ContentBase {
- public:
- ~ReadReply();
- int error;
- char * data;
- size_t size;
- const static uint16_t TypeID;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-class ReadRequest : public RequestBase {
- public:
- int handle;
- size_t size;
- off_t offset;
- const static uint16_t TypeID;
- typedef ReadReply Reply;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-class WriteReply : public ContentBase {
- public:
- int error;
- const static uint16_t TypeID;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-class WriteRequest : public RequestBase {
- public:
- ~WriteRequest();
- int handle;
- size_t size;
- char * data;
- off_t offset;
- const static uint16_t TypeID;
- typedef WriteReply Reply;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-class MkDirRequest : public RequestBase {
- public:
- std::string path;
- mode_t mode;
- typedef SimpleInt Reply;
- const static uint16_t TypeID;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-class RmDirRequest : public RequestBase {
- public:
- std::string path;
- typedef SimpleInt Reply;
- const static uint16_t TypeID;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-class UnlinkRequest : public RequestBase {
- public:
- std::string path;
- typedef SimpleInt Reply;
- const static uint16_t TypeID;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-class SymlinkRequest : public RequestBase {
- public:
- std::string path1;
- std::string path2;
- typedef SimpleInt Reply;
- const static uint16_t TypeID;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-class LinkRequest : public RequestBase {
- public:
- std::string path1;
- std::string path2;
- typedef SimpleInt Reply;
- const static uint16_t TypeID;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-class RenameRequest : public RequestBase {
- public:
- std::string path1;
- std::string path2;
- typedef SimpleInt Reply;
- const static uint16_t TypeID;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-class ReadlinkReply : public ContentBase {
- public:
- std::string path;
- int error;
- const static uint16_t TypeID;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-class ReadlinkRequest : public RequestBase {
- public:
- std::string path;
- typedef ReadlinkReply Reply;
- const static uint16_t TypeID;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-class ChmodRequest : public RequestBase {
- public:
- std::string path;
- mode_t mode;
- typedef SimpleInt Reply;
- const static uint16_t TypeID;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-class ChownRequest : public RequestBase {
- public:
- std::string path;
- uid_t user;
- gid_t group;
- typedef SimpleInt Reply;
- const static uint16_t TypeID;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-class TruncateRequest : public RequestBase {
- public:
- std::string path;
- off_t size;
- typedef SimpleInt Reply;
- const static uint16_t TypeID;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-class FtruncateRequest : public RequestBase {
- public:
- int handle;
- off_t size;
- typedef SimpleInt Reply;
- const static uint16_t TypeID;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-class StatfsReply : public ContentBase {
- public:
- struct statvfs statfs;
- int error;
- const static uint16_t TypeID;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-class StatfsRequest : public RequestBase {
- public:
- std::string path;
- typedef StatfsReply Reply;
- const static uint16_t TypeID;
- virtual void Send(FILE*) const;
- virtual void Read(FILE*);
-};
-
-#define MSGTYPE(id, cls) \
- const uint16_t cls::TypeID = id; \
- namespace MsgFactories { Factory<cls> facFor##id; }
-#endif
-