summaryrefslogtreecommitdiff
path: root/src/message.h
diff options
context:
space:
mode:
authorBent Bisballe Nyeng <deva@aasimon.org>2012-03-30 14:10:27 +0200
committerBent Bisballe Nyeng <deva@aasimon.org>2012-03-30 14:10:27 +0200
commitdbc5e3353310040a8726b386c254cd0f19d4c036 (patch)
tree4da9fb1dcaa20c9df617de45f07869bcb14acf06 /src/message.h
parentc3a603e14b05b90735bf87fe5fd85fde8433a9fd (diff)
Move message datastructure to its own file.
Diffstat (limited to 'src/message.h')
-rw-r--r--src/message.h98
1 files changed, 98 insertions, 0 deletions
diff --git a/src/message.h b/src/message.h
new file mode 100644
index 0000000..d566400
--- /dev/null
+++ b/src/message.h
@@ -0,0 +1,98 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* vim: set et sw=2 ts=2: */
+/***************************************************************************
+ * message.h
+ *
+ * Fri Mar 30 14:05:58 CEST 2012
+ * Copyright 2012 Bent Bisballe Nyeng
+ * deva@aasimon.org
+ ****************************************************************************/
+
+/*
+ * This file is part of Munia.
+ *
+ * Munia is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Munia is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Munia; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#ifndef __MUNIA_MESSAGE_H__
+#define __MUNIA_MESSAGE_H__
+
+#include <list>
+#include <string>
+
+#include "task.h"
+
+namespace cmd {
+ typedef enum {
+ observe,
+ unobserve,
+ update,
+ move,
+ add,
+ del,
+ error
+ } cmd_t;
+};
+
+typedef struct {
+ taskid_t id;
+} observe_t;
+
+typedef struct {
+ taskid_t id;
+} unobserve_t;
+
+typedef struct {
+ taskid_t id;
+ taskid_t parentid;
+ char title[256];
+ char desc[256];
+} add_t;
+
+typedef struct {
+ taskid_t id;
+} del_t;
+
+typedef struct {
+ taskid_t id;
+ taskid_t parentid;
+} move_t;
+
+typedef struct {
+ taskid_t id;
+ char title[256];
+ char desc[256];
+} update_t;
+
+
+typedef struct {
+ cmd::cmd_t cmd;
+
+ union {
+ observe_t observe;
+ unobserve_t unobserve;
+ add_t add;
+ del_t del;
+ move_t move;
+ update_t update;
+ };
+
+ TaskIdList nodes;
+
+} message_t;
+
+
+typedef std::list<message_t> MessageList;
+
+#endif/*__MUNIA_MESSAGE_H__*/