lib/misc/server.h
changeset 0 6f7a81934006
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/misc/server.h	Wed Jan 16 22:39:43 2008 +0100
@@ -0,0 +1,39 @@
+#ifndef VMAILMGR__SERVER__H__
+#define VMAILMGR__SERVER__H__
+
+#include "mystring/mystring.h"
+#include "misc/response.h"
+#include "config/configrc.h"
+
+class server_call
+{
+private:
+  mystring cmd;
+  unsigned argc;
+  mystring* args;
+  int fd;
+  
+  server_call();
+  server_call(const server_call&);
+  
+  mystring build_msg() const;
+  int connect(const mystring&) const;
+  void disconnect();
+  
+public:
+  server_call(mystring, unsigned a = 0);
+  server_call(mystring, mystring);
+  server_call(mystring, mystring, mystring);
+  server_call(mystring, mystring, mystring, mystring);
+  server_call(mystring, mystring, mystring, mystring, mystring);
+  server_call(mystring, mystring, mystring, mystring, mystring, mystring);
+  server_call(mystring, mystring, mystring, mystring, mystring, mystring,
+	      mystring);
+  ~server_call();
+  response call(const mystring& = config->socket_file());
+  void operand(int i, mystring m) { args[i] = m; }
+  mystring operand(int i) const { return args[i]; }
+  int socket() const { return fd; }
+};
+
+#endif