19 #ifndef _VMWARE_TOOLS_PLUGIN_H_ 20 #define _VMWARE_TOOLS_PLUGIN_H_ 33 #if defined(G_PLATFORM_WIN32) 37 #include "vmware/guestrpc/capabilities.h" 49 #define VMTOOLSAPP_ERROR(ctx, err) do { \ 51 (ctx)->errorCode = (err); \ 52 g_main_loop_quit((ctx)->mainLoop); \ 65 #define VMTOOLSAPP_ATTACH_SOURCE(ctx, src, cb, data, destroy) do { \ 66 GSource *__src = (src); \ 67 g_source_set_callback(__src, (GSourceFunc) (cb), (data), (destroy)); \ 68 g_source_attach(__src, g_main_loop_get_context((ctx)->mainLoop)); \ 75 #define TOOLS_IS_MAIN_SERVICE(ctx) (strcmp((ctx)->name, \ 76 VMTOOLS_GUEST_SERVICE) == 0) 82 #define TOOLS_IS_USER_SERVICE(ctx) (strcmp((ctx)->name, \ 83 VMTOOLS_USER_SERVICE) == 0) 86 #define TOOLS_STATE_LOG_ROOT 0 87 #define TOOLS_STATE_LOG_CONTAINER 1 88 #define TOOLS_STATE_LOG_PLUGIN 2 101 ToolsCore_LogState(guint level,
105 gchar *indented = g_strdup_printf(
"%*s%s", 3 * level,
"", fmt);
109 g_logv(
"state", G_LOG_LEVEL_INFO, indented, args);
127 #define TOOLS_CORE_SIG_CAPABILITIES "tcs_capabilities" 136 #define TOOLS_CORE_SIG_CONF_RELOAD "tcs_conf_reload" 147 #define TOOLS_CORE_SIG_DUMP_STATE "tcs_dump_state" 156 #define TOOLS_CORE_SIG_RESET "tcs_reset" 165 #define TOOLS_CORE_SIG_NO_RPC "tcs_no_rpc" 179 #define TOOLS_CORE_SIG_SET_OPTION "tcs_set_option" 188 #define TOOLS_CORE_SIG_SHUTDOWN "tcs_shutdown" 190 #if defined(G_PLATFORM_WIN32) 218 #define TOOLS_CORE_SIG_SERVICE_CONTROL "tcs_service_control" 229 #define TOOLS_CORE_PROP_CTX "tcs_app_ctx" 237 #define TOOLS_CORE_EVENTS_TOOLS_NEW_VERSION "VMToolsNewVersion" 246 #define TOOLS_CORE_EVENTS_TOOLS_NEED_REBOOT "VMToolsNeedReboot" 248 #define TOOLS_CORE_EVENTS_GLOBAL_SCOPE "Global" 262 TOOLS_CORE_API_V1 = 0x1,
297 #if defined(G_PLATFORM_WIN32) 299 gboolean comInitialized;
324 #if defined(G_PLATFORM_WIN32) 332 static inline gboolean
335 if (!ctx->comInitialized) {
336 HRESULT ret = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
337 ctx->comInitialized = SUCCEEDED(ret);
338 if (!ctx->comInitialized) {
339 g_log(ctx->
name, G_LOG_LEVEL_WARNING,
340 "COM initialization failed(0x%x)\n", ret);
343 return ctx->comInitialized;
353 TOOLS_CAP_OLD_NOVAL = 1,
529 const gchar *signame;
600 #if defined(G_PLATFORM_WIN32) 601 # define TOOLS_MODULE_EXPORT VMTOOLS_EXTERN_C __declspec(dllexport) 602 #elif defined(GCC_EXPLICIT_EXPORT) 603 # define TOOLS_MODULE_EXPORT VMTOOLS_EXTERN_C __attribute__((visibility("default"))) 605 # define TOOLS_MODULE_EXPORT VMTOOLS_EXTERN_C