aboutsummaryrefslogtreecommitdiff
path: root/Src/nprt_plugin/gecko/1.8/win/include/nsIPrefLocalizedString.h
blob: cdf03d2114d51bb459bd76ff87911588f22135a9 (plain) (blame)
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
/*
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM c:/mozilla/modules/libpref/public/nsIPrefLocalizedString.idl
 */

#ifndef __gen_nsIPrefLocalizedString_h__
#define __gen_nsIPrefLocalizedString_h__


#ifndef __gen_nsISupports_h__
#include "nsISupports.h"
#endif

/* For IDL files that don't want to include root IDL files. */
#ifndef NS_NO_VTABLE
#define NS_NO_VTABLE
#endif

/* starting interface:    nsIPrefLocalizedString */
#define NS_IPREFLOCALIZEDSTRING_IID_STR "ae419e24-1dd1-11b2-b39a-d3e5e7073802"

#define NS_IPREFLOCALIZEDSTRING_IID \
  {0xae419e24, 0x1dd1, 0x11b2, \
    { 0xb3, 0x9a, 0xd3, 0xe5, 0xe7, 0x07, 0x38, 0x02 }}

/**
 * The nsIPrefLocalizedString interface is simply a wrapper interface for
 * nsISupportsString so the preferences service can have a unique identifier
 * to distinguish between requests for normal wide strings (nsISupportsString)
 * and "localized" wide strings, which get their default values from properites
 * files.
 *
 * @see nsIPrefBranch
 * @see nsISupportsString
 * 
 * @status FROZEN
 */
class NS_NO_VTABLE nsIPrefLocalizedString : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(NS_IPREFLOCALIZEDSTRING_IID)

  /**
   * Provides access to string data stored in this property.
   *
   * @return NS_OK The operation succeeded.
   * @return Other An error occured.
   */
  /* attribute wstring data; */
  NS_IMETHOD GetData(PRUnichar * *aData) = 0;
  NS_IMETHOD SetData(const PRUnichar * aData) = 0;

  /**
   * Used to retrieve the contents of this object into a wide string.
   *
   * @return wstring The string containing the data stored within this object.
   */
  /* wstring toString (); */
  NS_IMETHOD ToString(PRUnichar **_retval) = 0;

  /**
   * Used to set the contents of this object.
   *
   * @param length The length of the string. This value should not include
   *               space for the null terminator, nor should it account for the
   *               size of a character. It should  only be the number of
   *               characters for which there is space in the string.
   * @param data   The string data to be stored.
   *
   * @note
   * This makes a copy of the string argument passed in.
   *
   * @return NS_OK The data was successfully stored.
   */
  /* void setDataWithLength (in unsigned long length, [size_is (length)] in wstring data); */
  NS_IMETHOD SetDataWithLength(PRUint32 length, const PRUnichar *data) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIPREFLOCALIZEDSTRING \
  NS_IMETHOD GetData(PRUnichar * *aData); \
  NS_IMETHOD SetData(const PRUnichar * aData); \
  NS_IMETHOD ToString(PRUnichar **_retval); \
  NS_IMETHOD SetDataWithLength(PRUint32 length, const PRUnichar *data); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIPREFLOCALIZEDSTRING(_to) \
  NS_IMETHOD GetData(PRUnichar * *aData) { return _to GetData(aData); } \
  NS_IMETHOD SetData(const PRUnichar * aData) { return _to SetData(aData); } \
  NS_IMETHOD ToString(PRUnichar **_retval) { return _to ToString(_retval); } \
  NS_IMETHOD SetDataWithLength(PRUint32 length, const PRUnichar *data) { return _to SetDataWithLength(length, data); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIPREFLOCALIZEDSTRING(_to) \
  NS_IMETHOD GetData(PRUnichar * *aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetData(aData); } \
  NS_IMETHOD SetData(const PRUnichar * aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetData(aData); } \
  NS_IMETHOD ToString(PRUnichar **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->ToString(_retval); } \
  NS_IMETHOD SetDataWithLength(PRUint32 length, const PRUnichar *data) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetDataWithLength(length, data); } 

#if 0
/* Use the code below as a template for the implementation class for this interface. */

/* Header file */
class nsPrefLocalizedString : public nsIPrefLocalizedString
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIPREFLOCALIZEDSTRING

  nsPrefLocalizedString();

private:
  ~nsPrefLocalizedString();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsPrefLocalizedString, nsIPrefLocalizedString)

nsPrefLocalizedString::nsPrefLocalizedString()
{
  /* member initializers and constructor code */
}

nsPrefLocalizedString::~nsPrefLocalizedString()
{
  /* destructor code */
}

/* attribute wstring data; */
NS_IMETHODIMP nsPrefLocalizedString::GetData(PRUnichar * *aData)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsPrefLocalizedString::SetData(const PRUnichar * aData)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* wstring toString (); */
NS_IMETHODIMP nsPrefLocalizedString::ToString(PRUnichar **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setDataWithLength (in unsigned long length, [size_is (length)] in wstring data); */
NS_IMETHODIMP nsPrefLocalizedString::SetDataWithLength(PRUint32 length, const PRUnichar *data)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* End of implementation class template. */
#endif

#define NS_PREFLOCALIZEDSTRING_CID                     \
  { /* {064d9cee-1dd2-11b2-83e3-d25ab0193c26} */       \
    0x064d9cee,                                        \
    0x1dd2,                                            \
    0x11b2,                                            \
    { 0x83, 0xe3, 0xd2, 0x5a, 0xb0, 0x19, 0x3c, 0x26 } \
  }
#define NS_PREFLOCALIZEDSTRING_CONTRACTID "@mozilla.org/pref-localizedstring;1"
#define NS_PREFLOCALIZEDSTRING_CLASSNAME "Pref LocalizedString"

#endif /* __gen_nsIPrefLocalizedString_h__ */