~ubuntu-branches/ubuntu/precise/tracker/precise

« back to all changes in this revision

Viewing changes to src/miners/fs/tracker-main.c

  • Committer: Package Import Robot
  • Author(s): Michael Biebl
  • Date: 2011-12-04 06:40:28 UTC
  • mfrom: (4.3.21 sid)
  • Revision ID: package-import@ubuntu.com-20111204064028-cqe0x4f4is6nojla
Tags: 0.12.8-1
* New upstream release.
* Update symbols file for libtracker-extract-0.12-0.

Show diffs side-by-side

added added

removed removed

Lines of Context:
44
44
 
45
45
#include "tracker-config.h"
46
46
#include "tracker-marshal.h"
 
47
#include "tracker-miner-userguides.h"
47
48
#include "tracker-miner-applications.h"
48
49
#include "tracker-miner-files.h"
49
50
#include "tracker-miner-files-index.h"
656
657
                        return TRUE;
657
658
                }
658
659
 
 
660
                /* FIXME: We currently don't check the applications
 
661
                 *  miner OR the userguides miner if we are finished
 
662
                 * before returning TRUE/FALSE here, should we?
 
663
                 */
 
664
 
659
665
                /* We consider the miner finished */
660
666
                return FALSE;
661
667
        } else {
677
683
        TrackerConfig *config;
678
684
        TrackerMiner *miner_applications, *miner_files;
679
685
        TrackerMinerFilesIndex *miner_files_index;
 
686
#ifdef HAVE_MAEMO
 
687
        TrackerMiner *miner_userguides;
 
688
#endif /* HAVE_MAEMO */
680
689
        GOptionContext *context;
681
690
        GError *error = NULL;
682
691
        gchar *log_filename = NULL;
798
807
                return EXIT_FAILURE;
799
808
        }
800
809
 
 
810
#ifdef HAVE_MAEMO
 
811
        /* Create miner for userguides */
 
812
        miner_userguides = tracker_miner_userguides_new (&error);
 
813
        if (!miner_userguides) {
 
814
                g_critical ("Couldn't create new User Guides miner: '%s'",
 
815
                            error ? error->message : "unknown error");
 
816
                g_object_unref (miner_applications);
 
817
                g_object_unref (miner_files);
 
818
                g_object_unref (miner_files_index);
 
819
                tracker_writeback_shutdown ();
 
820
                g_object_unref (config);
 
821
                tracker_log_shutdown ();
 
822
                return EXIT_FAILURE;
 
823
        }
 
824
#endif /* HAVE_MAEMO */
 
825
 
801
826
        /* Check if we should crawl and if we should force mtime
802
827
         * checking based on the config.
803
828
         */
838
863
        /* Configure applications miner */
839
864
        tracker_miner_fs_set_initial_crawling (TRACKER_MINER_FS (miner_applications), do_crawling);
840
865
 
 
866
#ifdef HAVE_MAEMO
 
867
        /* Configure userguides miner */
 
868
        tracker_miner_fs_set_initial_crawling (TRACKER_MINER_FS (miner_userguides), do_crawling);
 
869
#endif /* HAVE_MAEMO */
 
870
 
841
871
        /* If a locale change was detected, always do mtime checks */
842
872
        if (tracker_miner_applications_detect_locale_changed (miner_applications)) {
843
873
                if (!do_mtime_checking)
847
877
                tracker_miner_fs_set_mtime_checking (TRACKER_MINER_FS (miner_applications), do_mtime_checking);
848
878
        }
849
879
 
 
880
 
 
881
#ifdef HAVE_MAEMO
 
882
        /* If a locale change was detected, always do mtime checks */
 
883
        if (tracker_miner_userguides_detect_locale_changed (miner_userguides)) {
 
884
                if (!do_mtime_checking)
 
885
                        g_debug ("Forcing mtime check in userguides miner as locale change was detected");
 
886
                tracker_miner_fs_set_mtime_checking (TRACKER_MINER_FS (miner_userguides), TRUE);
 
887
        } else {
 
888
                tracker_miner_fs_set_mtime_checking (TRACKER_MINER_FS (miner_userguides), do_mtime_checking);
 
889
        }
 
890
#endif /* HAVE_MAEMO */
 
891
 
850
892
        g_signal_connect (miner_applications, "finished",
851
893
                          G_CALLBACK (miner_finished_cb),
852
894
                          NULL);
853
895
 
 
896
#ifdef HAVE_MAEMO
 
897
        g_signal_connect (miner_userguides, "finished",
 
898
                          G_CALLBACK (miner_finished_cb),
 
899
                          NULL);
 
900
#endif /* HAVE_MAEMO */
 
901
 
854
902
        /* Setup miners, applications first in list */
 
903
#ifdef HAVE_MAEMO
 
904
        miners = g_slist_prepend (miners, miner_userguides);
 
905
#endif /* HAVE_MAEMO */
 
906
 
855
907
        miners = g_slist_prepend (miners, miner_files);
856
908
        miners = g_slist_prepend (miners, miner_applications);
857
909
 
869
921
        if (miners_timeout_id == 0 &&
870
922
            !miner_needs_check (miner_files, store_available) &&
871
923
            !miner_needs_check (miner_applications, store_available)) {
 
924
#ifdef HAVE_MAEMO
 
925
                if (!miner_needs_check (miner_userguides, store_available)) {
 
926
                        tracker_db_manager_set_need_mtime_check (FALSE);
 
927
                }
 
928
#else  /* HAVE_MAEMO */
872
929
                tracker_db_manager_set_need_mtime_check (FALSE);
 
930
#endif /* HAVE_MAEMO */
873
931
        }
874
932
 
875
933
        g_main_loop_unref (main_loop);