cleaned up object names
diff --git a/objects/control_bmc_obj.c b/objects/control_bmc_obj.c
index 2aedd04..e1e1a8a 100644
--- a/objects/control_bmc_obj.c
+++ b/objects/control_bmc_obj.c
@@ -12,6 +12,7 @@
 

 /* ---------------------------------------------------------------------------------------------------- */

 static const gchar* dbus_object_path = "/org/openbmc/control";

+static const gchar* instance_name = "bmc0";

 static const gchar* dbus_name        = "org.openbmc.control.Bmc";

 

 //this probably should come from some global SOC config

@@ -103,13 +104,25 @@
          GDBusMethodInvocation  *invocation,

          gpointer                user_data)

 {

+	//#ifdef __arm__

+	//reg_init();

+	//#endif

+	control_complete_init(control,invocation);

+	//control_emit_goto_system_state(control,"BMC_STARTING");

+	

+	return TRUE;

+}

+gboolean go(gpointer user_data)

+{

+ 	cmdline *cmd = user_data;

+	Control* control = object_get_control((Object*)cmd->user_data);

 	#ifdef __arm__

 	reg_init();

 	#endif

-	control_complete_init(control,invocation);

 	control_emit_goto_system_state(control,"BMC_STARTING");

 	

-	return TRUE;

+	g_main_loop_quit(cmd->loop);

+	return FALSE;

 }

 

 static void 

@@ -119,47 +132,48 @@
 {

 	ObjectSkeleton *object;

  	cmdline *cmd = user_data;

-	if (cmd->argc < 2)

-	{

-		g_print("No objects created.  Put object name(s) on command line\n");

-		return;

-	}	

   	manager = g_dbus_object_manager_server_new (dbus_object_path);

-  	int i=0;

-  	for (i=1;i<cmd->argc;i++)

-  	{

-		gchar *s;

-  		s = g_strdup_printf ("%s/%s",dbus_object_path,cmd->argv[i]);

-  		object = object_skeleton_new (s);

-  		g_free (s);

 

-		ControlBmc* control_bmc = control_bmc_skeleton_new ();

-		object_skeleton_set_control_bmc (object, control_bmc);

-		g_object_unref (control_bmc);

+	gchar *s;

+	s = g_strdup_printf ("%s/%s",dbus_object_path,instance_name);

+	object = object_skeleton_new (s);

+	g_free (s);

 

-		Control* control = control_skeleton_new ();

-		object_skeleton_set_control (object, control);

-		g_object_unref (control);

+	ControlBmc* control_bmc = control_bmc_skeleton_new ();

+	object_skeleton_set_control_bmc (object, control_bmc);

+	g_object_unref (control_bmc);

 

-		//define method callbacks here

-		g_signal_connect (control,

-        	            "handle-init",

-                	    G_CALLBACK (on_init),

-                	    NULL); /* user_data */

+	Control* control = control_skeleton_new ();

+	object_skeleton_set_control (object, control);

+	g_object_unref (control);

 

-		/* Export the object (@manager takes its own reference to @object) */

-		g_dbus_object_manager_server_export (manager, G_DBUS_OBJECT_SKELETON (object));

-		g_object_unref (object);

-	}

+	//define method callbacks here

+	g_signal_connect (control,

+       	            "handle-init",

+               	    G_CALLBACK (on_init),

+               	    NULL); /* user_data */

+

+	/* Export the object (@manager takes its own reference to @object) */

+	g_dbus_object_manager_server_export (manager, G_DBUS_OBJECT_SKELETON (object));

+	g_object_unref (object);

+

 	/* Export all objects */

 	g_dbus_object_manager_server_set_connection (manager, connection);

+

+	//TODO:  This is a bad hack to wait for object to be on bus

+	//sleep(1);

+	cmd->user_data = object;

+	g_idle_add(go,cmd);

 }

 

+

 static void

 on_name_acquired (GDBusConnection *connection,

                   const gchar     *name,

                   gpointer         user_data)

 {

+

+

 }

 

 static void

@@ -170,8 +184,6 @@
 }

 

 

-

-

 /*----------------------------------------------------------------*/

 /* Main Event Loop                                                */

 

@@ -185,6 +197,7 @@
 

   guint id;

   loop = g_main_loop_new (NULL, FALSE);

+  cmd.loop = loop;

 

   id = g_bus_own_name (DBUS_TYPE,

                        dbus_name,