CR:Change preference initial time for dbus-server

"Zheng, Huan" <[email protected]>
Newsgroups gmane.comp.multimedia.helix.devel,gmane.spam.detected
Message-ID <EFE0C8A50A5D94448E3C7DD762E4FAA201876085@pdsmsx413.ccr.corp.intel.com>
CR: Change preference initial time for dbus-server

Synopsis:

Change preference initial time

Overview: 

    Related bug 8256: can't config video size and text size in
.hxdbussvrrc file

    Currently, preference data initilization is on the dbus level, that
is preference data is initialed when dbus session is established, and
preference data is restored to disk when dbus session is closed. So,
after changed .hxdbussvrrc user have to restart dbus session to let it
take effect. But user may want preference data be initialed and take
effect when player is opened. So this patch changes preference data
initial and restore/release time, make it take effect on the player
level.

    So that user can just restart RP4Mid to let changing .hxdbussvrrc
take effect.

Files Added:


    None

Files Modified:

    helix-dbus-server-main.cpp:
(player/kit/dbus-server/src/helix-dbus-server-main.cpp)

         Remove preference data initial and restore/release code

    hxplayer.cpp: (player/kit/dbus-server/src/hxplayer.cpp)

         Add preference data initial and release code

Image Size and Heap Use impact (Client -Only):

    little

Platforms and Profiles Affected:

    platform:   linux-2.2-libc6-gcc32-i586

    profile:    helix-client-all-defines

Distribution Libraries Affected:

    <helix-dbus-server.bin>

Distribution library impact and planned action:

    <None>

Platforms and Profiles Build Verified:

    Set BIF branch  -> hxdbus_3_1_0_atlas

    Set Target(s)   -> dbus_server_with_video

    Set Profile     -> helix-client-all-defines

    System ID       -> linux-2.2-libc6-gcc32-i586

Branch: 

    HEAD, hxclient_3_1_0_atlas

Copyright assignment: <MUST be one of the following statements >

  2.      Intel has signed and delivered a Joint Copyright Assignment

           to RealNetworks, and received acknowledgment that the 

           agreement was received. 

Files Attached:

    pref_load.diff

 

Best Regards, Zheng, Huan(ZBT)

OTC/SSD/SSG

Intel Aisa-Pacific Research & Developement Ltd

Tel: 021-6116 6435

Inet: 8821 6435

Cub: 3W035

_______________________________________________
Helix-client-dev mailing list
[email protected]
http://lists.helixcommunity.org/mailman/listinfo/helix-client-dev
pref_load.diff (application/octet-stream, 2.7 KB)
Index: dbus-server/src/helix-dbus-server-main.cpp
===================================================================
RCS file: /cvsroot/player/kit/dbus-server/src/helix-dbus-server-main.cpp,v
retrieving revision 1.2.2.9
diff -u -w -r1.2.2.9 helix-dbus-server-main.cpp
--- dbus-server/src/helix-dbus-server-main.cpp	24 Apr 2008 08:40:39 -0000	1.2.2.9
+++ dbus-server/src/helix-dbus-server-main.cpp	29 May 2008 02:38:25 -0000
@@ -89,9 +89,6 @@
     DBusError error;
     HelixDbusServer *server;
     const gchar *env_path;
-    char config_file[50];
-    sprintf(config_file, "%s/.hxdbussvrrc", getenv("HOME"));
-    normal_pref_init(config_file);
 
     if(!XInitThreads())
     {
@@ -173,7 +170,5 @@
     dbus_connection_setup_with_g_main(connection, g_main_loop_get_context(loop));
     g_main_loop_run(loop);
 
-    normal_pref_commit(config_file);
-    normal_pref_finish();
     exit(0);
 }
Index: dbus-server/src/hxplayer.cpp
===================================================================
RCS file: /cvsroot/player/kit/dbus-server/src/hxplayer.cpp,v
retrieving revision 1.2.2.29
diff -u -w -r1.2.2.29 hxplayer.cpp
--- dbus-server/src/hxplayer.cpp	16 May 2008 02:30:15 -0000	1.2.2.29
+++ dbus-server/src/hxplayer.cpp	29 May 2008 02:38:25 -0000
@@ -74,6 +74,7 @@
     guint pumpSourceID;
     bool bPump;
     int size_mode;
+    bool bPref_initialed;
 };
 struct TnPlayer {
     HxPlayer *thumb_nail_service;
@@ -564,6 +565,7 @@
     hxplayer->bInitialized =0;
     hxplayer->pumpSourceID = 0;
     hxplayer->size_mode = 0;
+    hxplayer->bPref_initialed = FALSE;
 
     ClientEngineSetCallbacks(&CLIENT_ENGINE_CALLBACKS);
 
@@ -617,6 +619,14 @@
         hxplayer_free(hxplayer);
     }    
 
+    if (!hxplayer->bPref_initialed)
+    {
+        char config_file[50];
+        sprintf(config_file, "%s/.hxdbussvrrc", getenv("HOME"));
+        normal_pref_init(config_file);
+        hxplayer->bPref_initialed = TRUE;
+    }
+	
     hxplayer->bInitialized =0;
     gdk_flush();
     pWrapForeignWindow = gdk_window_foreign_new(xid);
@@ -654,6 +664,8 @@
     {
         free(hxplayer->window);
         hxplayer->window = NULL;
+        normal_pref_finish(); //free all pref data
+        hxplayer->bPref_initialed = FALSE;
         return FALSE;
     }
     
@@ -873,6 +885,15 @@
     int state_bak = hxplayer->state;
     gpointer user_info_bak = hxplayer->user_info;
     
+    if (hxplayer->bPref_initialed)
+    {
+        char config_file[50];
+        sprintf(config_file, "%s/.hxdbussvrrc", getenv("HOME"));
+        normal_pref_commit(config_file);
+        normal_pref_finish();
+        hxplayer->bPref_initialed = FALSE;
+    }
+    
     memset(hxplayer,0,sizeof(HxPlayer));
     hxplayer->message_cb = message_cb_bak;
     hxplayer->signal_cb = signal_cb_bak;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.