diff -r 000000000000 -r bde4ae8d615e os/ossrv/ofdbus/dbus-glib/tsrc/testapps/file-transfer-server/src/file-transfer-server.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/os/ossrv/ofdbus/dbus-glib/tsrc/testapps/file-transfer-server/src/file-transfer-server.c Fri Jun 15 03:10:57 2012 +0200 @@ -0,0 +1,175 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +#include +#include +#include +#include +#include "file-transfer-server.h" +#include "file_send-glue.h" +#include +#include + + +static GObjectClass *parent_class = ((void *)0); +static void some_object_init (SomeObject *self); + +char *FILENAME = "c:/bunbask1.jpg"; +int SIZE = (4*1024); + +gboolean some_object_method1_impl (SomeObject *self, gint a, GArray *y,gint *z,GError **error) +{ + *z = a; + + return TRUE; +} + +void some_object_method2_impl (SomeObject *self, gchar* b) +{ + self->m_b = b; + g_print ("Method2: %s\n", self->m_b); +} + + +/* Public methods. */ +gboolean some_object_method1 (SomeObject *self, gint a,GArray *y,gint *z,GError **error) +{ + return SOME_OBJECT_GET_CLASS (self)->method1 (self, a,y,z,error); +} + +void some_object_method2 (SomeObject *self, gchar* b) +{ + SOME_OBJECT_GET_CLASS (self)->method2 (self, b); +} + +void some_object_method3 (SomeObject *self, gfloat c) +{ + self->m_c = c; + g_print ("Method3: %f\n", self->m_c); +} + + +void some_object_dispose (GObject *self) +{ + static gboolean first_run = TRUE; + + if (first_run) + { + first_run = FALSE; + + /* Call g_object_unref on any GObjects that we hold, but don't break the object */ + + parent_class-> dispose (self); + } +} + +void some_object_finalize (GObject *self) +{ + parent_class-> finalize (self); +} + +/* Here is where we override any functions. Since we have no properties or even fields, none of the below are needed. */ +void some_object_class_init (gpointer g_class, gpointer class_data) +{ + GObjectClass *object_class = G_OBJECT_CLASS (g_class); + SomeObjectClass *this_class = SOME_OBJECT_CLASS (g_class); + + //assign value to parent class + parent_class = g_type_class_peek_parent (g_class); + + //assing pointer values to the base class members + object_class-> dispose = &some_object_dispose; + object_class-> finalize = &some_object_finalize; + + //assign value to derived class members + this_class->method1 = &some_object_method1_impl; + this_class->method2 = &some_object_method2_impl; + + dbus_g_object_type_install_info(G_TYPE_FROM_CLASS(this_class),&dbus_glib__object_info); +} + +void some_object_init (SomeObject *self) +{ + self->m_a = 1; + self->m_c = 1.03f; + self->m_b = "sumit"; +} + +GType some_object_get_type () +{ + static GType g_define_type_id = 0; + if ((g_define_type_id == 0)) + { + static const GTypeInfo g_define_type_info = + { + sizeof (SomeObjectClass), + (GBaseInitFunc) ((void *)0), + (GBaseFinalizeFunc) ((void *)0), + (GClassInitFunc) some_object_class_init, + (GClassFinalizeFunc) ((void *)0), + ((void *)0), + sizeof (SomeObject), + 0, + (GInstanceInitFunc) some_object_init, + }; + + g_define_type_id = g_type_register_static + ( + G_TYPE_OBJECT, + "SomeObject", + &g_define_type_info, + (GTypeFlags) 0 + ); + + } + + return g_define_type_id; +} + +int main() +{ + SomeObject *so = NULL; + DBusGConnection *bus; + GMainLoop *mainLoop = NULL; + unsigned int request_ret; + GError *error = NULL; + + DBusGProxy *proxy = NULL; + + g_type_init(); + + so = g_object_new(SOME_OBJECT_TYPE,NULL); + + bus = dbus_g_bus_get(DBUS_BUS_SESSION,NULL); + + proxy = dbus_g_proxy_new_for_name(bus,DBUS_SERVICE_DBUS,DBUS_PATH_DBUS,DBUS_INTERFACE_DBUS); + + dbus_g_connection_register_g_object(bus,"/com/example/SomeObject",G_OBJECT(so)); + + if(!org_freedesktop_DBus_request_name(proxy,"com.example.SomeObject",0,&request_ret,&error)) + { + g_print("Unable to register service\n"); + return 1; + } + + mainLoop = g_main_loop_new(NULL,FALSE); + g_main_loop_run(mainLoop); + + return 0; +} +