diff src/msr.c @ 125:e413158cae13

Add ushare project files.
author naoyan@johnstown.minaminoshima.org
date Sun, 03 Oct 2010 11:35:19 +0900
parents
children 2a9ac5ce2c7e
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/msr.c	Sun Oct 03 11:35:19 2010 +0900
@@ -0,0 +1,92 @@
+/*
+ * msr.c : GeeXboX uShare Microsoft Registrar Service.
+ * Originally developped for the GeeXboX project.
+ * Copyright (C) 2006 Benjamin Zores <ben@geexbox.org>
+ *
+ * This program 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.
+ *
+ * This program 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 Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#include <upnp/upnp.h>
+#include <upnp/upnptools.h>
+
+#include "ushare.h"
+#include "services.h"
+
+/* Represent the MSR IsAuthorized action. */
+#define SERVICE_MSR_ACTION_IS_AUTHORIZED "IsAuthorized"
+
+/* Represent the MSR RegisterDevice action. */
+#define SERVICE_MSR_ACTION_REGISTER_DEVICE "RegisterDevice"
+
+/* Represent the MSR IsValidated action. */
+#define SERVICE_MSR_ACTION_IS_VALIDATED "IsValidated"
+
+/* Represent the MSR DeviceID argument. */
+#define SERVICE_MSR_ARG_DEVICE_ID "DeviceID"
+
+/* Represent the MSR Result argument. */
+#define SERVICE_MSR_ARG_RESULT "Result"
+
+/* Represent the MSR RegistrationReqMsg argument. */
+#define SERVICE_MSR_ARG_REGISTRATION_REQUEST_MSG "RegistrationReqMsg"
+
+/* Represent the MSR RegistrationRespMsg argument. */
+#define SERVICE_MSR_ARG_REGISTRATION_RESPONSE_MSG "RegistrationRespMsg"
+
+/* Represent the MSR Registered/Activated ID value. */
+#define SERVICE_MSR_STATUS_OK "1"
+
+static bool
+msr_is_authorized (struct action_event_t *event)
+{
+  if (!event)
+    return false;
+
+  /* send a fake authorization to these stupid MS players ;-) */
+  upnp_add_response (event, SERVICE_MSR_ARG_RESULT, SERVICE_MSR_STATUS_OK);
+
+  return event->status;
+}
+
+static bool
+msr_register_device (struct action_event_t *event)
+{
+  if (!event)
+    return false;
+
+  /* dummy action */
+
+  return event->status;
+}
+
+static bool
+msr_is_validated (struct action_event_t *event)
+{
+  if (!event)
+    return false;
+
+  /* send a fake validation to these stupid MS players ;-) */
+  upnp_add_response (event, SERVICE_MSR_ARG_RESULT, SERVICE_MSR_STATUS_OK);
+
+  return event->status;
+}
+
+/* List of UPnP Microsoft Registrar Service actions */
+struct service_action_t msr_service_actions[] = {
+  { SERVICE_MSR_ACTION_IS_AUTHORIZED, msr_is_authorized },
+  { SERVICE_MSR_ACTION_REGISTER_DEVICE, msr_register_device },
+  { SERVICE_MSR_ACTION_IS_VALIDATED, msr_is_validated },
+  { NULL, NULL }
+};