diff options
author | Perberos <[email protected]> | 2011-12-01 21:42:39 -0300 |
---|---|---|
committer | Perberos <[email protected]> | 2011-12-01 21:42:39 -0300 |
commit | fe8aea1c3b5348347633da18a02b0bffd3b266a1 (patch) | |
tree | 9881bf77df7572844707cc7c50bd8ca6b5a97076 /libmateweather/mateweather-win32.c | |
download | libmateweather-fe8aea1c3b5348347633da18a02b0bffd3b266a1.tar.bz2 libmateweather-fe8aea1c3b5348347633da18a02b0bffd3b266a1.tar.xz |
moving from https://github.com/perberos/mate-desktop-environment
Diffstat (limited to 'libmateweather/mateweather-win32.c')
-rw-r--r-- | libmateweather/mateweather-win32.c | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/libmateweather/mateweather-win32.c b/libmateweather/mateweather-win32.c new file mode 100644 index 0000000..1d3e197 --- /dev/null +++ b/libmateweather/mateweather-win32.c @@ -0,0 +1,100 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ +/* mateweather-win32.c - Win32 portability + * + * Copyright 2008, Novell, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see + * <http://www.gnu.org/licenses/>. + */ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <glib.h> + +#ifdef G_OS_WIN32 + +#include <windows.h> + +#include "mateweather-win32.h" + +static HMODULE dll = NULL; + +/* Prototype first to silence gcc warning */ +BOOL WINAPI +DllMain (HINSTANCE hinstDLL, + DWORD fdwReason, + LPVOID lpvReserved); + +BOOL WINAPI +DllMain (HINSTANCE hinstDLL, + DWORD fdwReason, + LPVOID lpvReserved) +{ + if (fdwReason == DLL_PROCESS_ATTACH) + dll = hinstDLL; + + return TRUE; +} + +char * +_mateweather_win32_get_zoneinfo_dir (void) +{ + static char *retval = NULL; + char *root; + + if (retval) + return retval; + + root = g_win32_get_package_installation_directory_of_module (dll); + retval = g_build_filename (root, "share/zoneinfo", NULL); + g_free (root); + + return retval; +} + +char * +_mateweather_win32_get_locale_dir (void) +{ + static char *retval = NULL; + char *root; + + if (retval) + return retval; + + root = g_win32_get_package_installation_directory_of_module (dll); + retval = g_build_filename (root, "share/locale", NULL); + g_free (root); + + return retval; +} + +char * +_mateweather_win32_get_xml_location_dir (void) +{ + static char *retval = NULL; + char *root; + + if (retval) + return retval; + + root = g_win32_get_package_installation_directory_of_module (dll); + retval = g_build_filename (root, "share/libmateweather", NULL); + g_free (root); + + return retval; +} + +#endif |