83 lines
2.1 KiB
C
83 lines
2.1 KiB
C
#include <glib-object.h>
|
|
#include "gm-mcp-awns-status.h"
|
|
#include "gm-mcp-session.h"
|
|
#include "gm-mcp.h"
|
|
#include "../gm-world.h"
|
|
#include "../gm-debug.h"
|
|
|
|
#define GM_MCP_AWNS_STATUS_GET_PRIVATE(object)( \
|
|
G_TYPE_INSTANCE_GET_PRIVATE((object), \
|
|
GM_TYPE_MCP_AWNS_STATUS, GmMcpAwnsStatusPrivate))
|
|
|
|
struct _GmMcpAwnsStatusPrivate {
|
|
|
|
};
|
|
|
|
/* Signals
|
|
|
|
enum {
|
|
PROTO
|
|
NUM_SIGNALS
|
|
};
|
|
|
|
static guint gm_mcp_awns_status_signals[NUM_SIGNALS] = {0};*/
|
|
void gm_mcp_awns_status_handle_simple(GmMcpPackage *package, gchar *suffix,
|
|
GList *fields);
|
|
|
|
G_DEFINE_TYPE(GmMcpAwnsStatus, gm_mcp_awns_status, GM_TYPE_MCP_PACKAGE)
|
|
|
|
static void
|
|
gm_mcp_awns_status_finalize(GObject *object) {
|
|
//GmMcpAwnsStatus *obj = GM_MCP_AWNS_STATUS(object);
|
|
|
|
G_OBJECT_CLASS(gm_mcp_awns_status_parent_class)->finalize(object);
|
|
}
|
|
|
|
static void
|
|
gm_mcp_awns_status_class_init(GmMcpAwnsStatusClass *klass) {
|
|
GObjectClass *object_class = G_OBJECT_CLASS(klass);
|
|
GmMcpPackageClass *pklass = GM_MCP_PACKAGE_CLASS(klass);
|
|
|
|
object_class->finalize = gm_mcp_awns_status_finalize;
|
|
|
|
/*gm_mcp_awns_status_signals[PROTO] =
|
|
g_signal_new("proto",
|
|
G_OBJECT_CLASS_TYPE(object_class),
|
|
G_SIGNAL_RUN_LAST,
|
|
G_STRUCT_OFFSET(GmMcpAwnsStatusClass, proto),
|
|
NULL, NULL,
|
|
g_cclosure_marshal_VOID__VOID,
|
|
G_TYPE_NONE,
|
|
0);*/
|
|
|
|
pklass->name = "dns-com-awns-status";
|
|
pklass->handle_simple = &gm_mcp_awns_status_handle_simple;
|
|
|
|
g_type_class_add_private(object_class, sizeof(GmMcpAwnsStatusPrivate));
|
|
}
|
|
|
|
static void
|
|
gm_mcp_awns_status_init(GmMcpAwnsStatus *obj) {
|
|
obj->priv = GM_MCP_AWNS_STATUS_GET_PRIVATE(obj);
|
|
}
|
|
|
|
/* Public */
|
|
GmMcpAwnsStatus *
|
|
gm_mcp_awns_status_new() {
|
|
GmMcpAwnsStatus *obj = GM_MCP_AWNS_STATUS(g_object_new(
|
|
GM_TYPE_MCP_AWNS_STATUS, NULL));
|
|
|
|
return obj;
|
|
}
|
|
|
|
/* Private */
|
|
void
|
|
gm_mcp_awns_status_handle_simple(GmMcpPackage *package, gchar *suffix,
|
|
GList *fields) {
|
|
gchar const *text = gm_mcp_find_value(fields, "text");
|
|
GmMcpSession *session = GM_MCP_PACKAGE_SESSION(package);
|
|
|
|
gm_debug_msg(DEBUG_MCP, "GmMcpAwnsStatus.HandleSimple: set status %s", text);
|
|
gm_world_set_status(GM_MCP_SESSION_WORLD(session), text);
|
|
}
|