~apachelogger/+junk/plymouth-stop-kdm

« back to all changes in this revision

Viewing changes to src/client/plymouth.c

  • Committer: Scott James Remnant
  • Date: 2010-03-25 16:44:25 UTC
  • mfrom: (1016.2.1 upstream)
  • Revision ID: scott@netsplit.com-20100325164425-daotztzazohftmt4
Merge upstream 0.8.1 release

Show diffs side-by-side

added added

removed removed

Lines of Context:
735
735
  return true;
736
736
}
737
737
 
 
738
static void
 
739
on_update_root_fs_request (state_t    *state,
 
740
                           const char *command)
 
741
{
 
742
 
 
743
  char *root_dir;
 
744
  bool is_read_write;
 
745
 
 
746
  root_dir = NULL;
 
747
  is_read_write = false;
 
748
  ply_command_parser_get_command_options (state->command_parser,
 
749
                                          command,
 
750
                                          "new-root-dir", &root_dir,
 
751
                                          "read-write", &is_read_write,
 
752
                                          NULL);
 
753
 
 
754
  if (root_dir != NULL)
 
755
    {
 
756
      ply_boot_client_tell_daemon_to_change_root (state->client, root_dir,
 
757
                                                  (ply_boot_client_response_handler_t)
 
758
                                                  on_success,
 
759
                                                  (ply_boot_client_response_handler_t)
 
760
                                                  on_failure, state);
 
761
 
 
762
    }
 
763
 
 
764
  if (is_read_write)
 
765
    {
 
766
      ply_boot_client_tell_daemon_system_is_initialized (state->client,
 
767
                                                         (ply_boot_client_response_handler_t)
 
768
                                                         on_success,
 
769
                                                         (ply_boot_client_response_handler_t)
 
770
                                                         on_failure, state);
 
771
    }
 
772
}
 
773
 
 
774
static void
 
775
on_show_splash_request (state_t    *state,
 
776
                        const char *command)
 
777
{
 
778
    ply_boot_client_tell_daemon_to_show_splash (state->client,
 
779
                                               (ply_boot_client_response_handler_t)
 
780
                                               on_success,
 
781
                                               (ply_boot_client_response_handler_t)
 
782
                                               on_failure, state);
 
783
}
 
784
 
 
785
static void
 
786
on_hide_splash_request (state_t    *state,
 
787
                        const char *command)
 
788
{
 
789
    ply_boot_client_tell_daemon_to_hide_splash (state->client,
 
790
                                               (ply_boot_client_response_handler_t)
 
791
                                               on_success,
 
792
                                               (ply_boot_client_response_handler_t)
 
793
                                               on_failure, state);
 
794
}
 
795
 
 
796
static void
 
797
on_update_request (state_t    *state,
 
798
                   const char *command)
 
799
{
 
800
  char *status;
 
801
 
 
802
  status = NULL;
 
803
  ply_command_parser_get_command_options (state->command_parser,
 
804
                                          command,
 
805
                                          "status", &status,
 
806
                                          NULL);
 
807
 
 
808
  if (status != NULL)
 
809
    {
 
810
      ply_boot_client_update_daemon (state->client, status,
 
811
                                     (ply_boot_client_response_handler_t)
 
812
                                     on_success,
 
813
                                     (ply_boot_client_response_handler_t)
 
814
                                     on_failure, state);
 
815
 
 
816
    }
 
817
}
 
818
 
738
819
int
739
820
main (int    argc,
740
821
      char **argv)
772
853
                                  NULL);
773
854
 
774
855
  ply_command_parser_add_command (state.command_parser,
 
856
                                  "update", "Tell daemon about boot status changes",
 
857
                                  (ply_command_handler_t)
 
858
                                  on_update_request, &state,
 
859
                                  "status", "Tell daemon the current boot status",
 
860
                                  PLY_COMMAND_OPTION_TYPE_STRING,
 
861
                                  NULL);
 
862
 
 
863
  ply_command_parser_add_command (state.command_parser,
 
864
                                  "update-root-fs", "Tell daemon about root filesystem changes",
 
865
                                  (ply_command_handler_t)
 
866
                                  on_update_root_fs_request, &state,
 
867
                                  "new-root-dir", "Root filesystem is about to change",
 
868
                                  PLY_COMMAND_OPTION_TYPE_STRING,
 
869
                                  "read-write", "Root filesystem is no longer read-only",
 
870
                                  PLY_COMMAND_OPTION_TYPE_FLAG,
 
871
                                  NULL);
 
872
 
 
873
  ply_command_parser_add_command (state.command_parser,
 
874
                                  "show-splash", "Tell daemon to show splash screen",
 
875
                                  (ply_command_handler_t)
 
876
                                  on_show_splash_request, &state,
 
877
                                  NULL);
 
878
 
 
879
  ply_command_parser_add_command (state.command_parser,
 
880
                                  "hide-splash", "Tell daemon to hide splash screen",
 
881
                                  (ply_command_handler_t)
 
882
                                  on_hide_splash_request, &state,
 
883
                                  NULL);
 
884
 
 
885
  ply_command_parser_add_command (state.command_parser,
775
886
                                  "ask-for-password", "Ask user for password",
776
887
                                  (ply_command_handler_t)
777
888
                                  on_password_request, &state,