-// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2021 CEA/DEN, EDF R&D, OPEN CASCADE
//
// 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.
+// 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
// SALOME Utils : general SALOME's definitions and tools
// File : Basics_DirUtils.hxx
-// Autor : Alexander A. BORODIN
+// Author : Alexander A. BORODIN
// Module : SALOME
//
#ifndef _Basics_UTILS_HXX_
#ifndef WIN32
#include <sys/time.h>
#else
-#include <winsock2.h>
#include <windows.h>
#pragma comment(lib,"winmm.lib")
+#pragma warning (disable : 4251)
#endif
+#ifndef SALOME_UNUSED
+#define SALOME_UNUSED(var) (void)var
+#endif
namespace Kernel_Utils
{
{
public:
Localizer();
+ Localizer(int, const char*);
~Localizer();
private:
- std::string myCurLocale;
+ void init(int, const char*);
+ private:
+ int myCategory;
+ std::string myOriginalLocale;
};
//! GUID type
ObjectdID //!< Global usage object identifier ID
};
+ BASICS_EXPORT const wchar_t* decode(const char* encoded);
+ BASICS_EXPORT const wchar_t* decode_s(std::string encoded);
+ BASICS_EXPORT const char* encode(const wchar_t* decoded);
+ BASICS_EXPORT std::string encode_s(const wchar_t* decoded);
+
+#ifdef WIN32
+ BASICS_EXPORT char* utf8_encode(const wchar_t* encoded);
+ BASICS_EXPORT wchar_t* utf8_decode(const char* decoded);
+ BASICS_EXPORT std::string utf8_encode_s(const std::wstring& encoded);
+ BASICS_EXPORT std::wstring utf8_decode_s(const std::string& decoded);
+#endif
+
//! Get predefined GUID
BASICS_EXPORT std::string GetGUID( GUIDtype );
#ifndef WIN32
// Simple Logger macros (no dependency with SALOME)
// =============================================================
//
+#if defined(_DEBUG_) || defined(_DEBUG)
#define STDLOG(msg) {std::cerr<<std::flush<<__FILE__<<" ["<<__LINE__<<"] : "<<msg<<std::endl<<std::flush;}
+#else
+#define STDLOG(msg)
+#endif
+
#ifdef LOG
#undef LOG
#endif