gecko-dev/modules/libnls/headers/msgstr.h
1998-05-27 02:02:27 +00:00

54 lines
1.5 KiB
C++

/*
* CONFIDENTIAL AND PROPRIETARY SOURCE CODE OF
* NETSCAPE COMMUNICATIONS CORPORATION
* Copyright (C) 1997 Netscape Communications Corporation. All Rights
* Reserved. Use of this Source Code is subject to the terms of the
* applicable license agreement from Netscape Communications Corporation.
* The copyright notice(s) in this Source Code does not indicate actual or
* intended publication of this Source Code.
*/
#ifndef _MSGSTR_H
#define _MSGSTR_H
#include "nlsxp.h"
#include "resbdl.h"
class NLSRESAPI_PUBLIC_CLASS MessageString
{
public:
// CONSTRUCTORS
MessageString(const char* packageName, const char* keyName, const Formattable* objs,
t_int32 cnt);
MessageString(const char* exportFormat);
// DESTRUCTOR
~MessageString();
// GETTERS
NLS_ErrorCode status() const; // Get error status
// Looks up a value based on the key passed in. Returns NULL and
// sets status to NLS_RESOURCE_NOT_FOUND if not found.
UnicodeString* getString(PropertyResourceBundle* bundle, Locale *locale = NULL);
UnicodeString* getString(const Locale* locale);
UnicodeString* getString(const char* acceptLanguage);
operator const char*() const;
char* util_pack_formattable(const Formattable* objs, t_int32 cnt);
Formattable* util_unpack_formattable(char *packed_formattable);
private:
NLS_ErrorCode fStatus;
char* fStringResource;
char* util_escape(char *target, const char *from);
void util_unescape(char *target);
int validate_resource(const char *packed_info);
};
#endif /* _MSGSTR_H */