/usr/include/Wt/WMessageResources is in libwt-dev 3.3.4+dfsg-6ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | // This may look like C code, but it's really -*- C++ -*-
/*
* Copyright (C) 2008 Emweb bvba, Kessel-Lo, Belgium.
*
* See the LICENSE file for terms of use.
*/
#ifndef WMESSAGE_RESOURCES_
#define WMESSAGE_RESOURCES_
#include <string>
#include <vector>
#include <map>
#include <set>
#include <Wt/WFlags>
#include <Wt/WMessageResourceBundle>
#include <Wt/WDllDefs.h>
namespace Wt {
class WString;
class WT_API WMessageResources
{
public:
WMessageResources(const std::string& path, bool loadInMemory = true);
WMessageResources(const char *builtin);
void hibernate();
bool isBuiltin(const char *data) const { return builtin_ == data; }
const std::string& path() const { return path_; }
bool resolveKey(const std::string& key, std::string& result);
bool resolvePluralKey(const std::string& key,
std::string& result,
::uint64_t amount);
static int evalPluralCase(const std::string &expression, ::uint64_t n);
void refresh();
std::set<std::string> keys(WFlags<WMessageResourceBundle::Scope> scope) const;
typedef std::map<std::string, std::vector<std::string> > KeyValuesMap;
private:
const bool loadInMemory_;
bool loaded_;
const std::string path_;
const char *builtin_;
struct Resource {
KeyValuesMap map_;
std::string pluralExpression_;
unsigned pluralCount_;
};
Resource local_;
Resource defaults_;
bool readResourceFile(const std::string& locale, Resource& resource);
bool readResourceStream(std::istream &s, Resource& resource,
const std::string &fileName);
std::string findCase(const std::vector<std::string> &cases,
std::string pluralExpression,
::uint64_t amount);
};
}
#endif // WMESSAGE_RESOURCES_
|