From 387173cba1f381beb144043ed0b6b4074084d318 Mon Sep 17 00:00:00 2001 From: kremlin Date: Fri, 30 May 2014 02:01:49 -0500 Subject: [PATCH] get hostnamed to show up on session bus, incomplete --- src/.main.c.swp | Bin 0 -> 12288 bytes src/main.c | 8 +- src/modules/hostnamed/.hostnamed.c.swp | Bin 0 -> 20480 bytes src/modules/hostnamed/hostnamed.c | 120 +++++++++++++++++++++++-- 4 files changed, 121 insertions(+), 7 deletions(-) create mode 100644 src/.main.c.swp create mode 100644 src/modules/hostnamed/.hostnamed.c.swp diff --git a/src/.main.c.swp b/src/.main.c.swp new file mode 100644 index 0000000000000000000000000000000000000000..b81261640ff1b77f7bfedac70cbed6d7c8a9b956 GIT binary patch literal 12288 zcmeI&O-jQ+7zW_4?z*UoUSO=7DmtluDAXTZs0gVpM7JePMjK2fC7GZi>P`gl4&oWS zfL=$zEBK98D~OpawM3#OzwmVOfZUS_0LMs{yK?-X?WBv4Lvk{J~TlevkUEcKn(3$^sS zv(bY91pZ7QH~W(dC7PL@s@j^PhS_Mxi#sKBqD!PI)J9sQoAplqknZkVh(WKC5(l(l2)>E*^x5 J!;!6JdIglva-aYJ literal 0 HcmV?d00001 diff --git a/src/main.c b/src/main.c index 2ff00fd..8ba8907 100644 --- a/src/main.c +++ b/src/main.c @@ -1,7 +1,13 @@ +#include #include "modules/hostnamed/hostnamed.c" int main() { + GMainLoop *loop; + hostnamed_init(); - for(;;) {} + + loop = g_main_loop_new(NULL, FALSE); + g_main_loop_run(loop); + return 0; } diff --git a/src/modules/hostnamed/.hostnamed.c.swp b/src/modules/hostnamed/.hostnamed.c.swp new file mode 100644 index 0000000000000000000000000000000000000000..d13e399be76f5c1d137b1ed6dc65d72961d1cf8a GIT binary patch literal 20480 zcmeI4ZHya78OJA0ftu13Q3+5b+UZ5a7t3eg6)2(SJ1I$>%ZbEyij!0*Da(3yyxw-b zd+dxaIg(3D5aLA$TJ;NQp#lm*P$5B}A3(HKzaWA5fCPe|f?6REgi5@BpkG@4vu|Ge z>^q-h^%68I{j|61d1jvd&+P0xGo!0b9-lu<-(Pqy!SPl?&gVZ}y-S}XH{L|Z13qgy zwkv;G_o%gem-#jCbfLk`se(9NFubOrb5U@aD6~z_MHvk=m}0n=WSi*>!a&k(Rp9j@7tqmOdAA8 zB|69XM3?HM6i^B%1(X6x0i}RaKq;UUPzopolmbctrN9;_pqqp+l>1K^sAK&pMs0vGr$5TK@RKyFYh4ayWlI}^WX@W0gZF`*U>kS=lOIomZ-7;BFPH*% zfLAc_@k{U>@MUlY90NsgJ9rfnE0@4U@HOx-_yjl)J`A!zYX5H_&;J0Iz;D2F;2A(m zx^GdjvczVxJWEa6XNIsncP2wJ#T*rk3){8wwC?%T^-j@Tk&tE2HfgezLbF|4jPIsr z2;o8(wn43$=Q&JwX+w8ShiRM%ZOQkRm@igjLZ1oj>YxYq9;%k7S7WQWm^GD~PG+)ICiXXU&TXEJvw2+$pEo?W0#CN4^hMOW zSUDJN!Py!gszD3gS|56p9={!Nt3VTUT~GSzxl!Bke5+9R88aDwKzK`qd-k<>VKI8E z3gxCPINFwLF|%r0uI^;%vhK9d=uqcewA*bdE-T7+0k0*>ajj~wXKMdqIcOp6E+3N#H5p4-^o()HSg0+HlokXRNQs- z902g3%S?4;$(TsTx7`gs-nNSl)i!m(%y=|oGv0oJ^sqrc!6pc{Y znU_KjBUhqsAH_#qe*AEK#xmgp1mA=1@k}J|a=WPTIYN`Tlka1-=ILXlV*gX)NjWS^ z>atz!-Q%Nyo+NTh%AYR5Yl*msumX}|($AE%m=4~Rthg|0VsqhY&DYqe~%quI!6?c+HFJ{+3Or^Zbk?R^o$uEc!6T42nNlqiL9 zO&mW3<2-7ixAAEpn0C79oVbt9&^X1MRHlMpXx^=RG#4h4wSqK3P(}Jhd^>H|a9Sp# zCCm1TpwO6=iBtC-yEbuWVX|o95Bw?vMH&AW5VM~HGX6)19vm+tzP}890GePAxEcHj z>7D~$1?Ry-;6WhmEl>vx6v2Oy*{{G;;M?Gv;1TdKV1gQ$06V}o@OR7sya;{>9tA$A zff9H-_z&g+{s^800`d9>z;SDJ;iA8awFJ5~4f+9jZkQ^-Z4;ZkjAwPAu_g=)A| zYppu&@Q$lBt7Gf`+Gp*Ii{56v?`pko~fWIQXzXW~)E`rCw1@J{M z4Q>VR1n&UP!j~_B$G`>faqtk3KAr`$Uc!Vm3+1PfXsIr@<6@obgx@VQMk8<1zV{ZBsH#jog;usVVDS)~Vi literal 0 HcmV?d00001 diff --git a/src/modules/hostnamed/hostnamed.c b/src/modules/hostnamed/hostnamed.c index f3632f6..e01742c 100644 --- a/src/modules/hostnamed/hostnamed.c +++ b/src/modules/hostnamed/hostnamed.c @@ -1,29 +1,136 @@ /* #include */ #include +/* testing, for now */ +static GDBusNodeInfo *spect_data = NULL; +static const gchar spect_xml[] = + "" + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + ""; + +static void handle_method_call() {} +static GVariant * handle_get_property() {return NULL;} +static gboolean handle_set_property() {return FALSE;} + +/* TODO: what's this guy do */ +static const GDBusInterfaceVTable interface_vtable = +{ + handle_method_call, + handle_get_property, + handle_set_property +}; + + + static void on_bus_acquired(GDBusConnection *conn, const gchar *name, gpointer user_data) { g_print("got bus, name: %s\n", name); + + spect_data = g_dbus_node_info_new_for_xml(spect_xml, NULL); + guint reg_id; - /* g_print("at %p, data @ %p\n", (void*)conn, user_data); */ + reg_id = g_dbus_connection_register_object (conn, + "/org/freedesktop/hostname1", + spect_data->interfaces[0], + &interface_vtable, + NULL, + NULL, + NULL ); + g_assert(reg_id > 0); } static void on_name_acquired(GDBusConnection *conn, const gchar *name, gpointer user_data) { g_print("got name %s\n", name); - - /* g_print("at %p, data @ %p\n", (void*)conn, user_data); */ } static void on_name_lost(GDBusConnection *conn, const gchar *name, gpointer user_data) { g_print("lost name %s\n", name); - - /* g_print("at %p, data @ %p\n", (void*)conn, user_data); */ } void hostnamed_init() { + guint bus_descriptor; GError *err = NULL; - bus_descriptor = g_bus_own_name(G_BUS_TYPE_SYSTEM, + bus_descriptor = g_bus_own_name(G_BUS_TYPE_SESSION, (gchar *)"org.freedesktop.hostname1", G_BUS_NAME_OWNER_FLAGS_NONE, on_bus_acquired, @@ -33,3 +140,4 @@ void hostnamed_init() { NULL); } + -- 2.41.0