Fixed problem with searching in manager
authormaritus <lucas.pawlik@gmail.com>
Tue, 6 Feb 2007 13:34:36 +0000 (13:34 +0000)
committermaritus <lucas.pawlik@gmail.com>
Tue, 6 Feb 2007 13:34:36 +0000 (13:34 +0000)
git-svn-id: file:///svnroot/mdictionary/trunk@64 5bde0345-f819-0410-ac75-e5045f9217cc

src/bookmarks/xdxf/src/engine_bookmark.c
src/manager/src/ws_manager.c

index b9e9ff8..4800ab2 100644 (file)
@@ -43,7 +43,8 @@ static gchar* word_translation_cache(XDXFData* data, gchar* word)
         gchar* buffer = NULL;
         gchar* trans = NULL;
         guint file_size = get_file_size(data->cache);
-        while(TRUE) {
+        if (file_size > 0){
+       while(TRUE) {
                 gnome_vfs_read(data->cache,
                                b,
                                DICT_SEARCHING_WORD_TRAN_BUFF_SIZE,
@@ -85,6 +86,7 @@ static gchar* word_translation_cache(XDXFData* data, gchar* word)
                                           DICT_SEARCHING_WORD_TRAN_BUFF_SIZE
                                     );
         }
+       }
         return trans;
 }
 //------------------------------------------------------------------------------
@@ -101,7 +103,7 @@ static gchar* word_translation_xdxf(XDXFData* data, gchar* word) {
                 
         XML_Parser parser = XML_ParserCreate(NULL);        
         if (!parser) {
-                g_warning("XDXF/%s->%s() Could not open initialize "
+                g_warning("%s->%s() Could not open initialize "
                           "XML parser.\n",
                           __FILE__,
                           __FUNCTION__
@@ -199,8 +201,8 @@ static FilePart get_adding_position(XDXFData* data,
 //     return 0;
        gchar* down_word = g_utf8_strdown(word, -1);
        guint file_size = get_file_size(data->cache);
-       
-        while(TRUE) {
+       if (file_size > 0){
+       while(TRUE) {
                 gnome_vfs_read(data->cache,
                                b,
                                DICT_SEARCHING_WORD_TRAN_BUFF_SIZE,
@@ -248,7 +250,10 @@ static FilePart get_adding_position(XDXFData* data,
                                           DICT_SEARCHING_WORD_TRAN_BUFF_SIZE
                                     );
         }
-       FilePart translation = {trans_offset,0};
+       }
+       guint64 tmp_offset = get_file_size(data->xdxf) - g_strlen("</xdxf>");
+       //g_debug("TMP_OFFSET: %ld", tmp_offset);
+       FilePart translation = {tmp_offset,0};
        return /*trans_offset*/translation;
 }
 
@@ -256,7 +261,7 @@ static FilePart get_adding_position(XDXFData* data,
 // searching word by concrete engine
 void bm_engine_search_word_translation(Engine* engine, gchar* word)
 {
-        g_debug("XDXF/%s->%s() called.\n"
+        g_debug("%s->%s() called.\n"
                 "-->PARAM:engine at adress=%p\n"
                 "-->PARAM:word=\'%s\'\n",
                  __FILE__,
@@ -270,7 +275,7 @@ void bm_engine_search_word_translation(Engine* engine, gchar* word)
         XDXFData* data = (XDXFData*)(engine->engine_data);
         // if callback is not set, we do not have to search word
         if(data->cb_search_word_trans == NULL) {
-                g_warning("XDXF/%s->%s() callback for Word Translation not set."
+                g_warning("%s->%s() callback for Word Translation not set."
                           " Searching aborted.\n",
                           __FILE__,
                           __FUNCTION__
@@ -292,7 +297,7 @@ void bm_engine_search_word_translation(Engine* engine, gchar* word)
                 trans = word_translation_xdxf(data, word);                
         };
 
-        g_debug("XDXF/%s->%s() found for word \'%s\' translation:\n\'%s\'\n",
+        g_debug("%s->%s() found for word \'%s\' translation:\n\'%s\'\n",
                 __FILE__,
                 __FUNCTION__,
                 word,
@@ -308,7 +313,7 @@ void bm_engine_search_word_translation(Engine* engine, gchar* word)
                                   );
         timer(TIMER_STOP,"callback for returning word's translation END");
         if(data->auto_free) {
-                g_debug("XDXF/%s->%s() deleting all dynamic data because "
+                g_debug("%s->%s() deleting all dynamic data because "
                         "AUTO_FREE=TRUE\n",
                         __FILE__,
                         __FUNCTION__
@@ -332,7 +337,7 @@ gboolean bm_engine_remove_word(Engine* engine,
                        GNOME_VFS_OPEN_READ | GNOME_VFS_OPEN_RANDOM, 
                        FALSE, 0666);   
         if(vfs_result != GNOME_VFS_OK)  {
-                g_warning("XDXF/%s->%s() opening dictionary file failed"
+                g_warning("%s->%s() opening dictionary file failed"
                                 " due to reason: %s.\n",
                                 __FILE__,
                                 __FUNCTION__,
@@ -342,8 +347,8 @@ gboolean bm_engine_remove_word(Engine* engine,
        }
         
        FilePart position_part = get_adding_position (data, word);
-       GnomeVFSFileSize position = position_part.offset /*+ position_part.length*/;
-       guint64 file_size = get_file_size(data->cache);
+       //GnomeVFSFileSize position = position_part.offset /*+ position_part.length*/;
+       //guint64 file_size = get_file_size(data->cache);
        gchar read_buffer[DICT_CACHEING_BUFF_SIZE + 1];
        GnomeVFSFileSize read_size = DICT_CACHEING_BUFF_SIZE;
        GnomeVFSFileSize read_bytes_size = DICT_CACHEING_BUFF_SIZE;
@@ -401,10 +406,10 @@ gboolean bm_engine_remove_word(Engine* engine,
        gnome_vfs_unlink("/media/mmc1/swap_xdxf.xdxf");
        gnome_vfs_seek(data->xdxf, GNOME_VFS_SEEK_START, 
                        0);
-       //gnome_vfs_seek(data->cache, GNOME_VFS_SEEK_START, 
-       //              0);
+       gnome_vfs_seek(data->cache, GNOME_VFS_SEEK_START, 
+                       0);
        gnome_vfs_close(data->cache); 
-       gchar* cache_path = g_strconcat(data->dict_path, "/dict.cache", NULL);
+       gchar* cache_path = g_strconcat(data->dict_path, "/ws_bookmarks.cache", NULL);
        gnome_vfs_unlink(cache_path);
        bm_engine_optimize(engine);
        g_free(cache_path);
@@ -427,7 +432,7 @@ gboolean bm_engine_add_word(Engine* engine,
                        GNOME_VFS_OPEN_READ | GNOME_VFS_OPEN_RANDOM, 
                        FALSE, 0666);   
         if(vfs_result != GNOME_VFS_OK)  {
-                g_warning("XDXF/%s->%s() opening dictionary file failed"
+                g_warning("%s->%s() opening dictionary file failed"
                                 " due to reason: %s.\n",
                                 __FILE__,
                                 __FUNCTION__,
@@ -437,7 +442,7 @@ gboolean bm_engine_add_word(Engine* engine,
        }
        
        
-       guint64 file_size = get_file_size(data->xdxf);
+//     guint64 file_size = get_file_size(data->xdxf);
        FilePart position_part = get_adding_position(data, word);
        GnomeVFSFileSize position = 
                        position_part.offset/* + position_part.length*/;
@@ -466,8 +471,6 @@ gboolean bm_engine_add_word(Engine* engine,
                //g_return_val_if_fail(vfs_result != GNOME_VFS_OK, FALSE);
                if (read_bytes_size < DICT_CACHEING_BUFF_SIZE) break;
        }
-       g_debug("Position %d", (gint) position);        
-       g_debug("File size %d", (gint) file_size);
        /*End write*/
        /*Write new entry*/
        /*gnome_vfs_seek(data->xdxf, GNOME_VFS_SEEK_START, 
@@ -495,17 +498,15 @@ gboolean bm_engine_add_word(Engine* engine,
                                g_strlen(tmp[1]) - g_strlen("</ar>"));
                gchar* tmp3 = g_strndup(read_word, 
                                g_strlen(read_word) - g_strlen("</ar>"));
-               buffer = g_strconcat(tmp3, "\n", 
-                                       tmp2, "</ar>\0", NULL);
+               buffer = g_strconcat(tmp3, tmp2, "</ar>", NULL);
                g_strfreev(tmp);
                g_free(tmp2);
                g_free(tmp3);
                gnome_vfs_seek(swap_xdxf, GNOME_VFS_SEEK_START, 
                        position_part.length);
-               g_debug("\n\n\nbuffer content %s\n", buffer);
        }else
        {
-               buffer = g_strconcat(translation, "\n\0" , NULL);
+               buffer = g_strdup(translation); 
                gnome_vfs_seek(swap_xdxf, GNOME_VFS_SEEK_START, 0);
        }
        /*End of testing*/
@@ -522,10 +523,10 @@ gboolean bm_engine_add_word(Engine* engine,
        read_bytes_size = DICT_CACHEING_BUFF_SIZE;
        read_size = DICT_CACHEING_BUFF_SIZE + 1 ;
        //bytes_written = DICT_CACHEING_BUFF_SIZE;
-       gnome_vfs_seek(data->xdxf, GNOME_VFS_SEEK_START, 0);
+       //gnome_vfs_seek(data->xdxf, GNOME_VFS_SEEK_START, 0);
        while(TRUE)
        {
-               g_debug(":Working around in writing back the tail:");
+               
                
                vfs_result = gnome_vfs_read(swap_xdxf/*GnomeVFSHandle */,
                                read_buffer/*buffer*/,
@@ -542,15 +543,18 @@ gboolean bm_engine_add_word(Engine* engine,
                if (read_bytes_size < DICT_CACHEING_BUFF_SIZE) break;
        }       
        /*End write back*/
+       
        gnome_vfs_close(swap_xdxf); 
        gnome_vfs_unlink("/media/mmc1/swap_xdxf.xdxf");
 //     gnome_vfs_close(data->xdxf);
 //     gnome_vfs_open(data->xdxf, data->dict_path, GNOME_VFS_OPEN_READ);
        gnome_vfs_seek(data->xdxf, GNOME_VFS_SEEK_START, 
                        0);
+       gnome_vfs_seek(data->cache, GNOME_VFS_SEEK_START, 
+                       0);
        gnome_vfs_close(data->cache); 
-       gchar* cache_path = g_strconcat(data->dict_path, "/dict.cache", NULL);
-       gnome_vfs_unlink(cache_path);
+       gchar* cache_path = g_strconcat(data->dict_path, "/ws_bookmarks.cache", NULL);
+       //gnome_vfs_unlink(cache_path);
        bm_engine_optimize(engine);
        g_free(cache_path);
        return TRUE;
@@ -628,15 +632,15 @@ static void search_word_trans_text(void *data, const XML_Char *txt, int len)
 //------------------------------------------------------------------------------
 void bm_engine_search_word_translation_extended(Engine* engine, gchar* word)
 {
-        g_debug("XDXF/%s->%s() called.\n",__FILE__,__FUNCTION__);
+        g_debug("%s->%s() called.\n",__FILE__,__FUNCTION__);
 }
 //------------------------------------------------------------------------------
 void bm_engine_set_progress_seed(Engine* engine, gchar* signal, gdouble seed) {
-        g_debug("XDXF/%s->%s() called.\n",__FILE__,__FUNCTION__);
+        g_debug("%s->%s() called.\n",__FILE__,__FUNCTION__);
         XDXFData* data = (XDXFData*)(engine->engine_data);
         if(g_ascii_strcasecmp(signal,ENGINE_PROGRESS_OPTIMIZING_SIGNAL) == 0)  {
                 data->cb_progress_caching_seed = seed;
-                g_debug("XDXF/%s->%s() sets new seed=%0.2f for for signal "
+                g_debug("%s->%s() sets new seed=%0.2f for for signal "
                         "\"%s\".\n",
                         __FILE__,
                         __FUNCTION__,
@@ -645,7 +649,7 @@ void bm_engine_set_progress_seed(Engine* engine, gchar* signal, gdouble seed) {
                        );        
         } 
         else {
-                g_warning("XDXF/%s->%s() unsupported signal"
+                g_warning("%s->%s() unsupported signal"
                           "for progress: %s.\n",
                           __FILE__,
                           __FUNCTION__,
@@ -659,7 +663,7 @@ gpointer bm_engine_set_callbacks(Engine* engine,
                              gpointer c_handler,
                              gpointer user_data)
 {
-       g_debug("XDXF/%s->%s() called.\n",__FILE__,__FUNCTION__);
+       g_debug("%s->%s() called.\n",__FILE__,__FUNCTION__);
         g_assert(engine != NULL);
         g_assert(signal != NULL);
         g_assert(c_handler != NULL);
@@ -668,17 +672,17 @@ gpointer bm_engine_set_callbacks(Engine* engine,
                 gpointer result = data->cb_progress_caching;
                 data->cb_progress_caching = c_handler;
                 data->cb_progress_caching_data = user_data;
-                g_debug("XDXF/%s->%s() sets handler for signal \"%s\".\n",
+                g_debug("%s->%s() sets handler for signal \"%s\".\n",
                         __FILE__,
                         __FUNCTION__,
                         signal
                        );
-                g_debug("XDXF/%s->%s() Function at adress =  %d.\n",
+                g_debug("%s->%s() Function at adress =  %d.\n",
                         __FILE__,
                         __FUNCTION__,
                         (guint)c_handler
                        );
-                g_debug("XDXF/%s->%s()     Data at adress =  %d.\n",
+                g_debug("%s->%s()     Data at adress =  %d.\n",
                         __FILE__,
                         __FUNCTION__,
                         (guint)user_data
@@ -689,17 +693,17 @@ gpointer bm_engine_set_callbacks(Engine* engine,
                 gpointer result = data->cb_search_word_list;
                 data->cb_search_word_list = c_handler;
                 data->cb_search_word_list_data = user_data;
-                g_debug("XDXF/%s->%s() sets handler for signal \"%s\".\n",
+                g_debug("%s->%s() sets handler for signal \"%s\".\n",
                         __FILE__,
                         __FUNCTION__,
                         signal
                        );
-                g_debug("XDXF/%s->%s() Function at adress =  %d.\n",
+                g_debug("%s->%s() Function at adress =  %d.\n",
                         __FILE__,
                         __FUNCTION__,
                         (guint)c_handler
                        );
-                g_debug("XDXF/%s->%s()     Data at adress =  %d.\n",
+                g_debug("%s->%s()     Data at adress =  %d.\n",
                         __FILE__,
                         __FUNCTION__,
                         (guint)user_data
@@ -711,17 +715,17 @@ gpointer bm_engine_set_callbacks(Engine* engine,
                 gpointer result = data->cb_search_word_trans;
                 data->cb_search_word_trans = c_handler;
                 data->cb_search_word_trans_data = user_data;
-                g_debug("XDXF/%s->%s() sets handler for signal \"%s\".\n",
+                g_debug("%s->%s() sets handler for signal \"%s\".\n",
                         __FILE__,
                         __FUNCTION__,
                         signal
                        );
-                g_debug("XDXF/%s->%s() Function at adress =  %d.\n",
+                g_debug("%s->%s() Function at adress =  %d.\n",
                         __FILE__,
                         __FUNCTION__,
                         (guint)c_handler
                        );
-                g_debug("XDXF/%s->%s()     Data at adress =  %d.\n",
+                g_debug("%s->%s()     Data at adress =  %d.\n",
                         __FILE__,
                         __FUNCTION__,
                         (guint)user_data
@@ -729,7 +733,7 @@ gpointer bm_engine_set_callbacks(Engine* engine,
                 return result;                        
         }
         else {
-                g_warning("XDXF/%s->%s() unsupported signal: %s.\n",
+                g_warning("%s->%s() unsupported signal: %s.\n",
                           __FILE__,
                           __FUNCTION__,
                           signal
@@ -740,12 +744,12 @@ gpointer bm_engine_set_callbacks(Engine* engine,
 //------------------------------------------------------------------------------
 void bm_engine_close(Engine* engine)
 {
-        g_debug("XDXF/%s->%s() called.\n-->PARAM: engine adress=%p\n",
+        g_debug("%s->%s() called.\n-->PARAM: engine adress=%p\n",
                 __FILE__,
                 __FUNCTION__,
                 engine);
         if(engine == NULL) {
-                g_warning("XDXF/%s->%s() Trying delete not existed engine.\n",
+                g_warning("%s->%s() Trying delete not existed engine.\n",
                            __FILE__,
                            __FUNCTION__
                           );
@@ -762,7 +766,7 @@ void bm_engine_close(Engine* engine)
         g_free(data->dict_path);
         g_free(data);
         g_free(engine);
-        g_debug("XDXF/%s->%s() engine at adress=%p is deleted.\n",
+        g_debug("%s->%s() engine at adress=%p is deleted.\n",
                 __FILE__,
                 __FUNCTION__,
                 engine);
@@ -770,7 +774,7 @@ void bm_engine_close(Engine* engine)
 //------------------------------------------------------------------------------
 gchar* bm_engine_error_message(EngineStatus error) 
 {
-        g_debug("XDXF/%s->%s() called.\n",__FILE__,__FUNCTION__);
+        g_debug("%s->%s() called.\n",__FILE__,__FUNCTION__);
         return "Error - not yet implemented.";
 }
 //------------------------------------------------------------------------------
@@ -780,7 +784,7 @@ Engine* bm_engine_create(gchar* location,
                       gpointer progress_data,
                       gdouble seed)
 {
-        g_debug("XDXF/%s->%s() called.\n"
+        g_debug("%s->%s() called.\n"
                 "-->PARAM:location=\'%s\'\n"
                 "-->PARAM:auto_cache=%d\n",
                 __FILE__,
@@ -820,19 +824,19 @@ Engine* bm_engine_create(gchar* location,
         result->engine_data = (gpointer)data;
        
         
-        g_debug("XDXF/%s->%s() opening file...\'%s\'.\n",
+        g_debug("%s->%s() opening file...\'%s\'.\n",
                 __FILE__,
                 __FUNCTION__,
                 location
                 );
-        gchar* tmp2 = g_strconcat(tmp,"/dict.xdxf",NULL);
+        gchar* tmp2 = g_strconcat(tmp,"/ws_bookmarks.xdxf",NULL);
         open_result = 
                 gnome_vfs_open (&(data->xdxf), tmp2, GNOME_VFS_OPEN_READ | 
                        GNOME_VFS_OPEN_WRITE | GNOME_VFS_OPEN_RANDOM);
         g_free(tmp2); tmp2 = NULL;
         
         if(open_result != GNOME_VFS_OK)  {
-                g_warning("XDXF/%s->%s() opening dictionary file failed"
+                g_warning("%s->%s() opening dictionary file failed"
                                 " due to reason: %s.\n",
                                 __FILE__,
                                 __FUNCTION__,
@@ -844,7 +848,7 @@ Engine* bm_engine_create(gchar* location,
                 result = NULL;
         }
         else {
-                g_debug("XDXF/%s->%s() opening dictionary file successed.\n",
+                g_debug("%s->%s() opening dictionary file successed.\n",
                         __FILE__,
                         __FUNCTION__
                        );
@@ -872,13 +876,10 @@ Engine* bm_engine_create(gchar* location,
                                 bm_engine_optimize(result);
                         }
                         else if(auto_cache == ENGINE_CREATE) {
-                               g_printf ("\n\nBookmarki zosta³y zoptymalizowane\n\n");
-                               
-                                gchar* cache_path = g_strconcat(data->dict_path,
-                                                                "/dict.cache",
+                               gchar* cache_path = g_strconcat(data->dict_path,
+                                                                "/ws_bookmarks.cache",
                                                                 NULL);
-                               g_printf ("\n\n%s\n\n", cache_path);
-                                open_result = 
+                               open_result = 
                                         gnome_vfs_open (&(data->cache),
                                                         cache_path,
                                                         GNOME_VFS_OPEN_READ
@@ -893,7 +894,7 @@ Engine* bm_engine_create(gchar* location,
         g_free(tmp); tmp = NULL;
         
         timer(TIMER_STOP,(gchar*)__FUNCTION__);
-        g_debug("XDXF/%s->%s() returned Engine at adress=%p\n TO NAPEWNO TEN PLIK",
+        g_debug("%s->%s() returned Engine at adress=%p\n TO NAPEWNO TEN PLIK",
                 __FILE__,
                 __FUNCTION__,
                 result
@@ -903,14 +904,14 @@ Engine* bm_engine_create(gchar* location,
 //------------------------------------------------------------------------------
 EngineModule engine_global_functions()
 {
-        g_debug("XDXF/%s->%s() called.\n",__FILE__,__FUNCTION__);
+        g_debug("%s->%s() called.\n",__FILE__,__FUNCTION__);
         EngineModule* result = g_try_new(EngineModule, 1);        
                 result->engine_check             = bm_engine_check;
                 result->engine_description       = bm_engine_description;
                 result->engine_format            = bm_engine_format;
                 result->engine_version           = bm_engine_version;
                 result->engine_create            = bm_engine_create;
-        g_debug("XDXF/%s->%s() returned EngineModule at adress=%p.\n",
+        g_debug("%s->%s() returned EngineModule at adress=%p.\n",
                 __FILE__,
                 __FUNCTION__,
                 result
@@ -983,7 +984,7 @@ static double timer(gboolean start, gchar* message)
 //------------------------------------------------------------------------------
 static gchar* read_file_part(FilePart* part, GnomeVFSHandle* file) 
 {
-        g_debug("XDXF/%s->%s() called.\n",__FILE__,__FUNCTION__);
+        g_debug("%s->%s() called.\n",__FILE__,__FUNCTION__);
         timer(TIMER_START,(gchar*)__FUNCTION__);
         gchar* result = NULL;
         GnomeVFSResult    f_result;
@@ -991,7 +992,7 @@ static gchar* read_file_part(FilePart* part, GnomeVFSHandle* file)
         
         f_result = gnome_vfs_seek(file, GNOME_VFS_SEEK_START, part->offset);        
         if(f_result != GNOME_VFS_OK) {
-                g_warning("XDXF/%s->%s() failed. Not possible to seek "
+                g_warning("%s->%s() failed. Not possible to seek "
                           "through file!\n",
                           __FILE__,
                           __FUNCTION__
@@ -1002,7 +1003,7 @@ static gchar* read_file_part(FilePart* part, GnomeVFSHandle* file)
         };
         result = g_try_malloc((part->length + 1) * sizeof(gchar));
         if(result == NULL) {
-                g_warning("XDXF/%s->%s() failed. Not possible to allocate "
+                g_warning("%s->%s() failed. Not possible to allocate "
                           "so big memmory chunk!\n",
                           __FILE__,
                           __FUNCTION__
@@ -1013,7 +1014,7 @@ static gchar* read_file_part(FilePart* part, GnomeVFSHandle* file)
         f_result = gnome_vfs_read (file, result, part->length, &bytes_read);
         if((f_result != GNOME_VFS_OK) ||
                 (((gulong)bytes_read) != part->length)) {
-                g_debug("XDXF/%s->%s() failed. Not possible to read from "
+                g_debug("%s->%s() failed. Not possible to read from "
                         "file!\n",
                         __FILE__,
                         __FUNCTION__
@@ -1024,7 +1025,7 @@ static gchar* read_file_part(FilePart* part, GnomeVFSHandle* file)
         };
         result[part->length] = '\0';
 
-        g_debug("XDXF/%s->%s() returned string=\n\'%s\'.\n",
+        g_debug("%s->%s() returned string=\n\'%s\'.\n",
                 __FILE__,
                 __FUNCTION__,
                 result
@@ -1048,7 +1049,7 @@ static gchar* read_file_part(FilePart* part, GnomeVFSHandle* file)
 * functions by pointer to string identyfying full file path
 */
 static gchar* string_to_path(gchar** string) {
-        g_debug("XDXF/%s->%s() called.\n\
+        g_debug("%s->%s() called.\n\
                  -->PARAM:string=\'%s\'\n",
                  __FILE__,
                  __FUNCTION__,
@@ -1097,7 +1098,7 @@ static gchar* string_to_path(gchar** string) {
         };
         // replace string under passed address
         string[0] = new;
-        g_debug("XDXF/%s->%s() returned string=\'%s\'\n",
+        g_debug("%s->%s() returned string=\'%s\'\n",
                 __FILE__,
                 __FUNCTION__,
                 string[0]
@@ -1106,7 +1107,7 @@ static gchar* string_to_path(gchar** string) {
 }
 //------------------------------------------------------------------------------
 static gboolean is_bm_file(gchar* file) {
-        g_debug("XDXF/%s->%s() called.\n\
+         g_debug("%s->%s() called.\n\
                  -->PARAM:file=\'%s\'\n",
                  __FILE__,
                  __FUNCTION__,
@@ -1123,7 +1124,7 @@ static gboolean is_bm_file(gchar* file) {
 
         file_result = gnome_vfs_open (&fd, file, GNOME_VFS_OPEN_READ);
         if(file_result != GNOME_VFS_OK) {
-                g_warning("XDXF/%s->%s() Could not open the file.\n",
+                g_warning("%s->%s() Could not open the file.\n",
                           __FILE__,
                           __FUNCTION__
                          );
@@ -1132,7 +1133,7 @@ static gboolean is_bm_file(gchar* file) {
 
         XML_Parser p = XML_ParserCreate(NULL);        
         if (!p) {
-                g_warning("XDXF/%s->%s() Could not open initialize "
+                g_warning("%s->%s() Could not open initialize "
                           "XML parser.\n",
                           __FILE__,
                           __FUNCTION__
@@ -1154,7 +1155,7 @@ static gboolean is_bm_file(gchar* file) {
                                              );
                 if  (file_result != GNOME_VFS_OK) {
                         result = FALSE;
-                        g_warning("XDXF/%s->%s() Could not read enought from"
+                        g_warning("%s->%s() Could not read enought from"
                                   " file.\n",
                                   __FILE__,
                                   __FUNCTION__
@@ -1167,7 +1168,7 @@ static gboolean is_bm_file(gchar* file) {
                                 ((gulong)bytes_read) < DICT_CACHEING_BUFF_SIZE
                                ) ) {
                         result = FALSE;
-                        g_warning("XDXF/%s->%s() Could not parse file.\n",
+                        g_warning("%s->%s() Could not parse file.\n",
                                   __FILE__,
                                   __FUNCTION__
                                  );
@@ -1175,7 +1176,7 @@ static gboolean is_bm_file(gchar* file) {
                 };
                 if (user_data.further == FALSE) {
                         result = user_data.good;
-                        g_debug("XDXF/%s->%s() statement: location is "
+                        g_debug("%s->%s() statement: location is "
                                 "compatible with this module, is %s\n",
                                 __FILE__,
                                 __FUNCTION__,
@@ -1185,7 +1186,7 @@ static gboolean is_bm_file(gchar* file) {
                 };
                 if (loop_count > 1) {
                         result = FALSE;
-                        g_debug("XDXF/%s->%s() Wrong file format.\n",
+                        g_debug("%s->%s() Wrong file format.\n",
                                 __FILE__,
                                 __FUNCTION__
                                );
@@ -1196,7 +1197,7 @@ static gboolean is_bm_file(gchar* file) {
 
         gnome_vfs_close(fd);
         XML_ParserFree(p);
-        g_debug("XDXF/%s->%s() returned bool statement=%s.\n",
+        g_debug("%s->%s() returned bool statement=%s.\n",
                 __FILE__,
                 __FUNCTION__,
                 PRINT_STATE(result)
@@ -1206,7 +1207,7 @@ static gboolean is_bm_file(gchar* file) {
 //------------------------------------------------------------------------------
 static void is_bm_file_start(void *data, const char *el, const char **attr) 
 {
-        XDXFCheckingData* user_data = (XDXFCheckingData*)data;
+         XDXFCheckingData* user_data = (XDXFCheckingData*)data;
         if (user_data->deep == 0) {
                 if (g_utf8_collate (el,"xdxf") != 0) {
                         user_data->good = FALSE;                
@@ -1226,9 +1227,9 @@ static void is_bm_file_end(void *data, const char *el)
 //------------------------------------------------------------------------------
 EngineStatus bm_engine_error(Engine* engine) 
 {
-        g_debug("XDXF/%s->%s() called.\n",__FILE__,__FUNCTION__);
+        g_debug("%s->%s() called.\n",__FILE__,__FUNCTION__);
         XDXFData* data = (XDXFData*)(engine->engine_data);
-        g_debug("XDXF/%s->%s() returned error code: %d\n",
+        g_debug("%s->%s() returned error code: %d\n",
                 __FILE__,
                 __FUNCTION__,
                 (gint)(data->last_error)
@@ -1363,7 +1364,7 @@ static gboolean is_Bookmark_file(gchar* file) {
 
 void bm_engine_optimize(Engine* engine)
 {
-        g_debug("XDXF/%s->%s() called for engine at adress=%p\n",
+        g_debug("%s->%s() called for engine at adress=%p\n",
                 __FILE__,
                 __FUNCTION__,
                 engine
@@ -1372,7 +1373,7 @@ void bm_engine_optimize(Engine* engine)
         GnomeVFSResult vfs_result;
         XDXFData* data = (XDXFData*)(engine->engine_data);
        g_debug("data->dict_path %s", data->dict_path);
-       gchar* cache_path = g_strconcat(data->dict_path,"/dict.cache",NULL);
+       gchar* cache_path = g_strconcat(data->dict_path,"/ws_bookmarks.cache",NULL);
        vfs_result = gnome_vfs_create(&(data->cache),
                                       cache_path,
                                       GNOME_VFS_OPEN_WRITE,
@@ -1381,7 +1382,7 @@ void bm_engine_optimize(Engine* engine)
                                      );
        if(vfs_result != GNOME_VFS_OK)  {
                data->cache = NULL;
-               g_warning("XDXF/%s->%s().Could not create new cache file: %s.\n",
+               g_warning("%s->%s().Could not create new cache file: %s.\n",
                           __FILE__,
                           __FUNCTION__,
                           cache_path
@@ -1399,7 +1400,7 @@ void bm_engine_optimize(Engine* engine)
                 c_data->last_stop = 0;
                 c_data->last_length = 0;
                 guint64 file_size = get_file_size(data->xdxf);
-//                 g_debug("XDXF/%s->%s(): caching dictionaries size is %.2f kB "
+//                 g_debug("%s->%s(): caching dictionaries size is %.2f kB "
 //                         "[%d bytes = %.2f MB].\n",
 //                         __FILE__,
 //                         __FUNCTION__,
@@ -1457,12 +1458,12 @@ void bm_engine_optimize(Engine* engine)
                                    );
        g_free(cache_path); cache_path = NULL;
        timer(TIMER_STOP,(gchar*)__FUNCTION__);
-        g_debug("XDXF/%s->%s()'s work finished.\n",__FILE__,__FUNCTION__);
+        g_debug("%s->%s()'s work finished.\n",__FILE__,__FUNCTION__);
 }
 //------------------------------------------------------------------------------
 gboolean bm_engine_check(gchar* location) 
 {        
-        g_debug("XDXF/%s->%s() called.\n-->PARAM:location=\'%s\'\n",
+        g_debug("%s->%s() called.\n-->PARAM:location=\'%s\'\n",
                 __FILE__,
                 __FUNCTION__,
                 location
@@ -1475,7 +1476,7 @@ gboolean bm_engine_check(gchar* location)
         string_to_path(&filepath);
         if (filepath == NULL) {
                 result = FALSE;
-                g_warning("XDXF/%s->%s() location \'%s\' is not a proper "
+                g_warning("%s->%s() location \'%s\' is not a proper "
                           "path!\n",
                           __FILE__,
                           __FUNCTION__,
@@ -1483,18 +1484,18 @@ gboolean bm_engine_check(gchar* location)
                          );
         }
         else {
-                tmp = g_strconcat(filepath,"/dict.xdxf",NULL);
+                tmp = g_strconcat(filepath,"/ws_bookmarks.xdxf",NULL);
                 g_free(filepath);
                 filepath = tmp;
                 tmp = NULL;
 
-                g_debug("XDXF/%s->%s() finnal file to check is: %s\n",
+                g_debug("%s->%s() finnal file to check is: %s\n",
                         __FILE__,
                         __FUNCTION__,
                         filepath
                        );
                 if (!g_file_test(filepath, G_FILE_TEST_IS_REGULAR)) {
-                        g_warning("XDXF/%s->%s() file \'%s\' does not "
+                        g_warning("%s->%s() file \'%s\' does not "
                                   "exists!\n",
                                   __FILE__,
                                   __FUNCTION__,
@@ -1509,7 +1510,7 @@ gboolean bm_engine_check(gchar* location)
 
         g_free(filepath);
         timer(TIMER_STOP,(gchar*)__FUNCTION__);
-        g_debug("XDXF/%s->%s() returned bool statement=%s.\n",
+        g_debug("%s->%s() returned bool statement=%s.\n",
                 __FILE__,
                 __FUNCTION__,
                 PRINT_STATE(result)
@@ -1535,7 +1536,7 @@ static guint get_max_length(gchar* a, guint length)
 //------------------------------------------------------------------------------                                                                                     // finished functions:
 void bm_engine_set_auto_free(Engine* engine, gboolean state) 
 {
-        g_debug("XDXF/%s->%s() called.\n"
+        g_debug("%s->%s() called.\n"
                 "-->PARAM:engine at adress=%p\n"
                 "-->PARAM:state=%s\n",
                 __FILE__,
@@ -1546,7 +1547,7 @@ void bm_engine_set_auto_free(Engine* engine, gboolean state)
         g_assert(engine != NULL);
         XDXFData* data = (XDXFData*)(engine->engine_data);
         data->auto_free = state;
-        g_debug("XDXF/%s->%s() Current auto_free is %s\n",
+        g_debug("%s->%s() Current auto_free is %s\n",
                 __FILE__,
                 __FUNCTION__,
                 PRINT_STATE(data->auto_free)
@@ -1555,9 +1556,9 @@ void bm_engine_set_auto_free(Engine* engine, gboolean state)
 //------------------------------------------------------------------------------
 gchar* bm_engine_version() 
 {
-        g_debug("XDXF/%s->%s() called.\n",__FILE__,__FUNCTION__);
+        g_debug("%s->%s() called.\n",__FILE__,__FUNCTION__);
         gchar* result = g_strdup(DIC_ENG_VERSION);
-        g_debug("XDXF/%s->%s() return string=%s\n",
+        g_debug("%s->%s() return string=%s\n",
                 __FILE__,
                 __FUNCTION__,
                 result
@@ -1591,7 +1592,7 @@ gchar* bm_engine_description()
 //------------------------------------------------------------------------------
 gboolean bm_engine_is_optimized(Engine* engine) 
 {
-        g_debug("XDXF/%s->%s() called.\n-->PARAM: engine adress=%p\n",
+        g_debug("%s->%s() called.\n-->PARAM: engine adress=%p\n",
                 __FILE__,
                 __FUNCTION__,
                 engine
@@ -1599,7 +1600,7 @@ gboolean bm_engine_is_optimized(Engine* engine)
         g_assert(engine != NULL);                
         XDXFData* data = (XDXFData*)(engine->engine_data);
         gboolean result = (data->cache != NULL);
-        g_debug("XDXF/%s->%s() returned bool statement=%s.\n",
+        g_debug("%s->%s() returned bool statement=%s.\n",
                 __FILE__,
                 __FUNCTION__,
                 PRINT_STATE(result)
@@ -1609,7 +1610,7 @@ gboolean bm_engine_is_optimized(Engine* engine)
 //------------------------------------------------------------------------------
 gchar* bm_engine_location(Engine* engine)
 {
-        g_debug("XDXF/%s->%s() called.\n-->PARAM: engine adress=%p\n",
+        g_debug("%s->%s() called.\n-->PARAM: engine adress=%p\n",
                 __FILE__,
                 __FUNCTION__,
                 engine
@@ -1624,7 +1625,7 @@ gchar* bm_engine_location(Engine* engine)
                 result = g_strdup(data->dict_path);
         }
 
-        g_debug("XDXF/%s->%s() returned string=%s\n",
+        g_debug("%s->%s() returned string=%s\n",
                 __FILE__,
                 __FUNCTION__,
                 result
@@ -1698,6 +1699,7 @@ static void word_list_cache(XDXFData* data, gchar* pattern, GArray* result) {
 //        GnomeVFSResult vfs_result;
        GnomeVFSFileSize bytes_readed;
         guint64 file_size = get_file_size(data->cache);
+       if (file_size > 0){
        guint pattern_len;
        gchar buffer[DICT_SEARCHING_WORD_LIST_BUFF_SIZE];
         gchar* buf;
@@ -1755,7 +1757,7 @@ static void word_list_cache(XDXFData* data, gchar* pattern, GArray* result) {
                                buf = buf + record_length;
                         }
                        if((bytes_readed < DICT_SEARCHING_WORD_LIST_BUFF_SIZE)|| 
-                               (already > (file_size -3)) ) {
+                               (already > (file_size -3))) {
                                break;
                        }
                                gnome_vfs_seek(data->cache, 
@@ -1809,7 +1811,8 @@ static void word_list_cache(XDXFData* data, gchar* pattern, GArray* result) {
                         }
                        if((bytes_readed < DICT_SEARCHING_WORD_LIST_BUFF_SIZE)|| 
                                (already > (file_size -3)) ) {
-                               break;
+               
+                               break;
                        }
                                gnome_vfs_seek(data->cache, 
                                        GNOME_VFS_SEEK_CURRENT,
@@ -1818,6 +1821,7 @@ static void word_list_cache(XDXFData* data, gchar* pattern, GArray* result) {
                                    );
                }       
        }
+       }
        timer(TIMER_STOP,(gchar*)__FUNCTION__);
         timer(TIMER_START,"callback for returning words list START");                
         data->cb_search_word_list(result,
@@ -1839,7 +1843,7 @@ static void word_list_xdxf(XDXFData* data, gchar* pattern, GArray* result) {
                
         XML_Parser parser = XML_ParserCreate(NULL);        
         if (!parser) {
-                g_warning("XDXF/%s->%s() Could not open initialize XML "
+                g_warning("%s->%s() Could not open initialize XML "
                           "parser.\n",
                           __FILE__,
                           __FUNCTION__
@@ -1907,7 +1911,7 @@ static void word_list_xdxf(XDXFData* data, gchar* pattern, GArray* result) {
                         break;
                 }
                 if((search_data.cont) == FALSE) {
-                        g_debug("XDXF/%s->%s() We found every words matching "
+                        g_debug("%s->%s() We found every words matching "
                                 "pattern \"%s\". Abort further searching.\n",
                                 __FILE__,
                                 __FUNCTION__,
@@ -1934,7 +1938,7 @@ static void word_list_xdxf(XDXFData* data, gchar* pattern, GArray* result) {
 //------------------------------------------------------------------------------
 void bm_engine_search_word_list(Engine* engine, gchar* pattern)
 {
-        g_debug("XDXF/%s->%s() called. Searching words list\n"
+        g_debug("%s->%s() called. Searching words list\n"
                 "-->PARAM:engine at adress=%p\n"
                 "-->PARAM:pattern=\"%s\"\n",
                 __FILE__,
@@ -1948,7 +1952,7 @@ void bm_engine_search_word_list(Engine* engine, gchar* pattern)
         timer(TIMER_START,(gchar*)__FUNCTION__);
         XDXFData* data = (XDXFData*)(engine->engine_data);
        if(data->cb_search_word_list == NULL) {
-                g_warning("XDXF/%s->%s() callback for Word List not set. "
+                g_warning("%s->%s() callback for Word List not set. "
                           "Searching aborted.\n",
                           __FILE__,
                           __FUNCTION__
@@ -1969,7 +1973,7 @@ void bm_engine_search_word_list(Engine* engine, gchar* pattern)
         };
         
         if(data->auto_free == TRUE)  {
-                g_debug("XDXF/%s->%s() deleting all dynamic data because "
+                g_debug("%s->%s() deleting all dynamic data because "
                         "AUTO_FREE=TRUE\n",
                         __FILE__,
                         __FUNCTION__
@@ -1983,7 +1987,7 @@ void bm_engine_search_word_list(Engine* engine, gchar* pattern)
                 }
                 g_array_free(result, TRUE);
         };
-        g_debug("XDXF/%s->%s() finished definately its work.\n",
+        g_debug("%s->%s() finished definately its work.\n",
                 __FILE__,
                 __FUNCTION__
                );
index aff12bf..a3dab0d 100644 (file)
@@ -57,6 +57,7 @@ struct _WSMngSearchData
        gboolean is_seraching_trans;///<searching translation flag
        GArray* library_path;///<path to library
        gboolean bookmark_mode;
+       GModule* bookmark_library;
 };
 
 /**
@@ -142,7 +143,8 @@ static void ws_mng_on_found_translation (gchar* translation,
                 }
         }
         //if there will be no more returned translations
-        if(!data->bookmark_mode && data->returned_trans_results <= 0)
+       if (!data->bookmark_mode){
+        if(data->returned_trans_results <= 0)
         {
                 //if serching for history record is done 
                 //and thre is no translation
@@ -168,8 +170,9 @@ static void ws_mng_on_found_translation (gchar* translation,
                         ws_dbus_server_return_translations(data->dbus_data,
                                                        data->trans);
                 }
-        }else if (data->bookmark_mode)
+        }}else
        {
+               data->is_seraching_trans = FALSE;
                ws_dbus_server_return_translations(data->dbus_data,
                                                        data->trans);
        }
@@ -441,6 +444,7 @@ static void ws_mng_on_found_word(GArray* list,
                 ws_dbus_server_return_words(data->dbus_data, data->word_list);
         }else if (data->bookmark_mode)
        {
+               data->is_seraching =  FALSE;
                ws_dbus_server_return_words(data->dbus_data, data->word_list);
        }
        g_debug("<-%s", __FUNCTION__);
@@ -645,8 +649,8 @@ static GArray* ws_mng_read_gconf()
         {
                 //path = g_strdup((gchar *) g_slist_nth_data(list, i));
                 path = (gchar* ) g_slist_nth_data(list, i);
-                gchar* new_path = g_strconcat(path, "/path",NULL);
-                gchar* new_acitve = g_strconcat(path, "/active",NULL);
+                gchar* new_path = g_strconcat(path, "/path", NULL);
+                gchar* new_acitve = g_strconcat(path, "/active", NULL);
                 //gchar* tmp = NULL;
                 key_active = gconf_client_get_bool(client, new_acitve, NULL);
 //                 tmp = g_strconcat(key_value, "/dict.xdxf", NULL);
@@ -1242,11 +1246,11 @@ void ws_mng_close (WSMngSearchData *data)
                dict_eng_destroy(data->bookmark);
        }
        
-         for (i = 0; i < data->dict->len; i++) 
-         {
+        for (i = 0; i < data->dict->len; i++) 
+        {
                  //free memory taken by engine
-                 dict_eng_destroy(g_array_index (data->dict, Engine*,i));
-         }
+                dict_eng_destroy(g_array_index (data->dict, Engine*,i));
+        }
        g_array_free(data->dict, TRUE);
         
         for (i=0; i<data->word_list->len; i++)