InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
MLocaleSetting.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Michael Burbidge
6 //
7 // $Author$
8 //
9 // $DateTime$
10 //
11 // $Revision$
12 //
13 // $Change$
14 //
15 // Copyright 1997-2010 Adobe Systems Incorporated. All rights reserved.
16 //
17 // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance
18 // with the terms of the Adobe license agreement accompanying it. If you have received
19 // this file from a source other than Adobe, then your use, modification, or
20 // distribution of it requires the prior written permission of Adobe.
21 //
22 //========================================================================================
23 
24 #ifndef __MLocaleSetting_h__
25 #define __MLocaleSetting_h__
26 
27 #include "PMLocaleId.h"
28 
29 #ifdef PUBLIC_BUILD
30 //#pragma export on
31 #endif
32 
36 {
37 public:
39 
44  static PMLocaleId GetLocale();
45 
50  static PMLocaleId GetSystemLocale();
51 
55  static int16 GetSystemScript();
56 
59  static void SetLocale(const PMLocaleId& locale);
60 
63  static void Initialize_Internal(int16 systemScript, const PMLocaleId& locale);
64 
65 private:
66  static PMLocaleId scriptLookup(int script);
67  static bool16 ReadPreferenceFile(const PMLocaleId& locale, int32& outFeatureSet);
68  static bool16 GetPreference(const PMLocaleId& locale, PMLocaleId& newLocale);
69  static bool16 GetPreferenceFileName(const PMLocaleId& locale, PMString& outStrPrefFileName);
70 
71 private:
72  bool16 fInitialized;
73  PMLocaleId fLocale;
74  int32 fSystemScript;
75 
76  static void Initialize();
77 };
78 
79 //#pragma export off
80 
81 #endif //__MLocaleSetting_h__