+/*
+ * tel-plugin-at_standard
+ *
+ * Copyright (c) 2012 Intel Corporation. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <glib.h>
+
+#include <tcore.h>
+#include <server.h>
+#include <plugin.h>
+#include <core_object.h>
+#include <co_network.h>
+
+#include "at_network.h"
+
+
+static TReturn search_network(CoreObject *co, UserRequest *ur)
+{
+ return TCORE_RETURN_ENOSYS;
+}
+
+static TReturn set_plmn_selection_mode(CoreObject *co, UserRequest *ur)
+{
+ return TCORE_RETURN_ENOSYS;
+}
+
+static TReturn get_plmn_selection_mode(CoreObject *co, UserRequest *ur)
+{
+ return TCORE_RETURN_ENOSYS;
+}
+
+static TReturn get_serving_network(CoreObject *co, UserRequest *ur)
+{
+ return TCORE_RETURN_ENOSYS;
+}
+
+static struct tcore_network_operations network_ops = {
+ .search = search_network,
+ .set_plmn_selection_mode = set_plmn_selection_mode,
+ .get_plmn_selection_mode = get_plmn_selection_mode,
+ .set_service_domain = NULL,
+ .get_service_domain = NULL,
+ .set_band = NULL,
+ .get_band = NULL,
+ .set_preferred_plmn = NULL,
+ .get_preferred_plmn = NULL,
+ .set_order = NULL,
+ .get_order = NULL,
+ .set_power_on_attach = NULL,
+ .get_power_on_attach = NULL,
+ .set_cancel_manual_search = NULL,
+ .get_serving_network = get_serving_network,
+ .set_mode = NULL,
+ .get_mode = NULL,
+};
+
+gboolean at_network_init(TcorePlugin *cp)
+{
+ CoreObject *co;
+ Server *server;
+
+ co = tcore_network_new(cp, &network_ops, NULL);
+ if (co == NULL)
+ return FALSE;
+
+ server = tcore_plugin_ref_server(cp);
+ tcore_server_add_template_object(server, co);
+
+ return TRUE;
+}
+
+void at_network_exit(TcorePlugin *cp)
+{
+ CoreObject *co;
+
+ if (cp == NULL)
+ return;
+
+ co = tcore_plugin_ref_core_object(cp, CORE_OBJECT_TYPE_NETWORK);
+ if (co == NULL)
+ return;
+
+ tcore_object_free(co);
+}