123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- {$IfDef read_interface}
- type
- TGnomeInteractStyle = (GNOME_INTERACT_NONE,GNOME_INTERACT_ERRORS,
- GNOME_INTERACT_ANY);
- TGnomeDialogType = (GNOME_DIALOG_ERROR,GNOME_DIALOG_NORMAL
- );
- TGnomeSaveStyle = (GNOME_SAVE_GLOBAL,GNOME_SAVE_LOCAL,GNOME_SAVE_BOTH
- );
- TGnomeRestartStyle = (GNOME_RESTART_IF_RUNNING,GNOME_RESTART_ANYWAY,
- GNOME_RESTART_IMMEDIATELY,GNOME_RESTART_NEVER
- );
- TGnomeClientState = (GNOME_CLIENT_IDLE,GNOME_CLIENT_SAVING_PHASE_1,
- GNOME_CLIENT_WAITING_FOR_PHASE_2,GNOME_CLIENT_SAVING_PHASE_2,
- GNOME_CLIENT_FROZEN,GNOME_CLIENT_DISCONNECTED,
- GNOME_CLIENT_REGISTERING);
- TGnomeClientFlags = (GNOME_CLIENT_IS_CONNECTED := 1 shl 0,GNOME_CLIENT_RESTARTED := 1 shl 1,
- GNOME_CLIENT_RESTORED := 1 shl 2);
- PGnomeClient = ^TGnomeClient;
- TGnomeClient = record
- theobject : TGtkObject;
- smc_conn : gpointer;
- input_id : gint;
- client_id : Pgchar;
- previous_id : Pgchar;
- config_prefix : Pgchar;
- global_config_prefix : Pgchar;
- static_args : PGList;
- clone_command : PPgchar;
- current_directory : Pgchar;
- discard_command : PPgchar;
- environment : PGHashTable;
- process_id : pid_t;
- theprogram : Pgchar;
- resign_command : PPgchar;
- restart_command : PPgchar;
- restart_style : TGnomeRestartStyle;
- shutdown_command : PPgchar;
- user_id : Pgchar;
- save_style : TGnomeSaveStyle;
- interact_style : TGnomeInteractStyle;
- shutdown : gboolean;
- fast : gboolean;
- state : TGnomeClientState;
- save_phase_2_requested : gboolean;
- save_successfull : gboolean;
- save_yourself_emitted : gboolean;
- interaction_keys : PGSList;
- end;
- GNOME_CLIENT = PGnomeClient;
- TGnomeInteractFunction = procedure (client:PGnomeClient; key:gint; dialog_type:TGnomeDialogType; data:gpointer);cdecl;
- function GNOME_CLIENT_CONNECTED(obj : pointer) : gboolean;
- Type
- PGnomeClientClass = ^TGnomeClientClass;
- TGnomeClientClass = record
- parent_class : TGtkObjectClass;
- save_yourself : function (client:PGnomeClient; phase:gint; save_style:TGnomeSaveStyle; shutdown:gint; interact_style:TGnomeInteractStyle;
- fast:gint):gboolean; cdecl;
- die : procedure (client:PGnomeClient); cdecl;
- save_complete : procedure (client:PGnomeClient); cdecl;
- shutdown_cancelled : procedure (client:PGnomeClient); cdecl;
- connect : procedure (client:PGnomeClient; restarted:gint); cdecl;
- disconnect : procedure (client:PGnomeClient);cdecl;
- end;
- GNOME_CLIENT_CLASS = PGnomeClientClass;
- function GNOME_TYPE_CLIENT : TGTKType;
- function GNOME_IS_CLIENT(obj : Pointer) : Boolean;
- function GNOME_IS_CLIENT_CLASS(klass : Pointer) : Boolean;
- function gnome_client_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_client_get_type';
- procedure gnome_client_init;cdecl;external libgnomeuidll name 'gnome_client_init';
- function gnome_master_client:PGnomeClient;cdecl;external libgnomeuidll name 'gnome_master_client';
- function gnome_client_get_config_prefix(client:PGnomeClient):Pgchar;cdecl;external libgnomeuidll name 'gnome_client_get_config_prefix';
- function gnome_client_get_global_config_prefix(client:PGnomeClient):Pgchar;cdecl;external libgnomeuidll name 'gnome_client_get_global_config_prefix';
- procedure gnome_client_set_global_config_prefix(client:PGnomeClient; prefix:Pgchar);cdecl;external libgnomeuidll name 'gnome_client_set_global_config_prefix';
- function gnome_client_get_flags(client:PGnomeClient):TGnomeClientFlags;cdecl;external libgnomeuidll name 'gnome_client_get_flags';
- procedure gnome_client_set_restart_style(client:PGnomeClient; style:TGnomeRestartStyle);cdecl;external libgnomeuidll name 'gnome_client_set_restart_style';
- procedure gnome_client_set_priority(client:PGnomeClient; priority:guint);cdecl;external libgnomeuidll name 'gnome_client_set_priority';
- procedure gnome_client_set_restart_command(client:PGnomeClient; argc:gint; argv:PPgchar);cdecl;external libgnomeuidll name 'gnome_client_set_restart_command';
- procedure gnome_client_add_static_arg(client:PGnomeClient; args:array of const);cdecl;external libgnomeuidll name 'gnome_client_add_static_arg';
- procedure gnome_client_set_discard_command(client:PGnomeClient; argc:gint; argv:PPgchar);cdecl;external libgnomeuidll name 'gnome_client_set_discard_command';
- procedure gnome_client_set_resign_command(client:PGnomeClient; argc:gint; argv:PPgchar);cdecl;external libgnomeuidll name 'gnome_client_set_resign_command';
- procedure gnome_client_set_shutdown_command(client:PGnomeClient; argc:gint; argv:PPgchar);cdecl;external libgnomeuidll name 'gnome_client_set_shutdown_command';
- procedure gnome_client_set_current_directory(client:PGnomeClient; dir:Pgchar);cdecl;external libgnomeuidll name 'gnome_client_set_current_directory';
- procedure gnome_client_set_environment(client:PGnomeClient; name:Pgchar; value:Pgchar);cdecl;external libgnomeuidll name 'gnome_client_set_environment';
- procedure gnome_client_set_clone_command(client:PGnomeClient; argc:gint; argv:PPgchar);cdecl;external libgnomeuidll name 'gnome_client_set_clone_command';
- procedure gnome_client_set_process_id(client:PGnomeClient; pid:pid_t);cdecl;external libgnomeuidll name 'gnome_client_set_process_id';
- procedure gnome_client_set_program(client:PGnomeClient; theprogram:Pgchar);cdecl;external libgnomeuidll name 'gnome_client_set_program';
- procedure gnome_client_set_user_id(client:PGnomeClient; user_id:Pgchar);cdecl;external libgnomeuidll name 'gnome_client_set_user_id';
- procedure gnome_client_save_any_dialog(client:PGnomeClient; dialog:PGnomeDialog);cdecl;external libgnomeuidll name 'gnome_client_save_any_dialog';
- procedure gnome_client_save_error_dialog(client:PGnomeClient; dialog:PGnomeDialog);cdecl;external libgnomeuidll name 'gnome_client_save_error_dialog';
- procedure gnome_client_request_phase_2(client:PGnomeClient);cdecl;external libgnomeuidll name 'gnome_client_request_phase_2';
- procedure gnome_client_request_save(client:PGnomeClient; save_style:TGnomeSaveStyle; shutdown:gboolean; interact_style:TGnomeInteractStyle; fast:gboolean;
- global:gboolean);cdecl;external libgnomeuidll name 'gnome_client_request_save';
- procedure gnome_client_flush(client:PGnomeClient);cdecl;external libgnomeuidll name 'gnome_client_flush';
- procedure gnome_client_disable_master_connection;cdecl;external libgnomeuidll name 'gnome_client_disable_master_connection';
- function gnome_client_new:PGnomeClient;cdecl;external libgnomeuidll name 'gnome_client_new';
- function gnome_client_new_without_connection:PGnomeClient;cdecl;external libgnomeuidll name 'gnome_client_new_without_connection';
- procedure gnome_client_connect(client:PGnomeClient);cdecl;external libgnomeuidll name 'gnome_client_connect';
- procedure gnome_client_disconnect(client:PGnomeClient);cdecl;external libgnomeuidll name 'gnome_client_disconnect';
- procedure gnome_client_set_id(client:PGnomeClient; client_id:Pgchar);cdecl;external libgnomeuidll name 'gnome_client_set_id';
- function gnome_client_get_id(client:PGnomeClient):Pgchar;cdecl;external libgnomeuidll name 'gnome_client_get_id';
- function gnome_client_get_previous_id(client:PGnomeClient):Pgchar;cdecl;external libgnomeuidll name 'gnome_client_get_previous_id';
- function gnome_cloned_client:PGnomeClient;cdecl;external libgnomeuidll name 'gnome_cloned_client';
- procedure gnome_client_request_interaction(client:PGnomeClient; dialog:TGnomeDialogType; func:TGnomeInteractFunction; client_data:gpointer);cdecl;external libgnomeuidll name 'gnome_client_request_interaction';
- procedure gnome_client_request_interaction_interp(client:PGnomeClient; dialog:TGnomeDialogType; func:TGtkCallbackMarshal; data:gpointer; destroy:TGtkDestroyNotify);cdecl;external libgnomeuidll name 'gnome_client_request_interaction_interp';
- procedure gnome_interaction_key_return(key:gint; cancel_shutdown:gboolean);cdecl;external libgnomeuidll name 'gnome_interaction_key_return';
- {$EndIf read_interface}
- {$Ifdef read_implementation}
- function GNOME_TYPE_CLIENT : TGTKType;
- begin
- GNOME_TYPE_CLIENT:=gnome_client_get_type;
- end;
- function GNOME_IS_CLIENT(obj : Pointer) : Boolean;
- begin
- GNOME_IS_CLIENT:=(obj<>nil) and GNOME_IS_CLIENT_CLASS(PGtkTypeObject(obj)^.klass);
- end;
- function GNOME_IS_CLIENT_CLASS(klass : Pointer) : Boolean;
- begin
- GNOME_IS_CLIENT_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_CLIENT);
- end;
- function GNOME_CLIENT_CONNECTED(obj : pointer) : gboolean;
- begin
- GNOME_CLIENT_CONNECTED:=(obj <> nil) and ((GNOME_CLIENT(obj))^.smc_conn <> nil);
- end;
- {$Endif read_implementation}
|