acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
international_locale_schema.h
1#pragma once
2
3
4#include "acme/prototype/prototype/atom.h"
5
6#include "acme/prototype/collection/atom_array.h"
7
8
9namespace text
10{
11
12
13 namespace international
14 {
15
16
17 class CLASS_DECL_ACME locale_schema :
18 virtual public ::particle
19 {
20 public:
21
22 // most simple use:
23 // 1. allocate locale_schema.
24 // 2. add locale variants in order of importance, most acceptable first
25 // 3. destroy locale_schema
26 // m_straLocale and m_straStyle will have the locale/styles
27
28 bool m_bSchemaOnly;
29 bool m_bAddAlternateStyle;
30
31 ::string m_strLocale;
32 ::string m_strSchema;
33
34 ::string_array_base m_straLocale;
35 ::string_array_base m_straSchema;
36
37
38 locale_schema();
39 locale_schema(const locale_schema& ls);
40 ~locale_schema() override;
41
42
43 //::atom localeid(const scoped_string & strLocale, character_count iLen);
44
45
46 virtual bool add_locale_variant(const ::scoped_string & scopedstrLocale, const ::scoped_string & scopedstrSchema);
47 virtual bool end_prepare(bool bRtlLayout);
48 //virtual void end_prepare();
49
50 bool defer_add_locale(const ::scoped_string & scopedstrLocale, const ::scoped_string & scopedstrSchema);
51 //bool defer_add_locale(const scoped_string & str, character_count iLen, const ::atom & idStyle);
52 bool _add_locale_variant(const ::scoped_string & scopedstrLocale, const ::scoped_string & scopedstrSchema);
53 //bool _add_locale_variant(const scoped_string & str, character_count iLen, atom idStyle);
54 bool process_final_locale_schema(bool bRTLLayout);
55 //bool process_final_locale_schema();
56
57
58 locale_schema& operator = (const locale_schema& ls);
59
60#ifdef _DEBUG
61
62 virtual ::i64 increment_reference_count() override;
63 virtual ::i64 release() override;
64
65#endif
66
67
68 };
69
70
71
72 CLASS_DECL_ACME void create_rtl_map();
73
74
75 } // namespace international
76
77
78} // namespace text
79
80
81