1 | /*
|
---|
2 | * Copyright 2010, Jorma Karvonen, karvonen.jorma_at_gmail.com. All rights
|
---|
3 | * reserved. Distributed under the terms of the MIT License.
|
---|
4 | */
|
---|
5 |
|
---|
6 | #include "LocaleCatalog.h"
|
---|
7 |
|
---|
8 | #include <Autolock.h>
|
---|
9 | #include <Locker.h>
|
---|
10 |
|
---|
11 | #undef B_TRANSLATE_CONTEXT
|
---|
12 | #define B_TRANSLATE_CONTEXT "LocaleCatalog"
|
---|
13 |
|
---|
14 |
|
---|
15 | // static instance (created on first call to LocaleCatalog::Instance().)
|
---|
16 | LocaleCatalog* LocaleCatalog::s_instance = 0;
|
---|
17 | BLocker LocaleCatalog::s_instanceLock("LocaleCatalog::s_instanceLock");
|
---|
18 |
|
---|
19 |
|
---|
20 | LocaleCatalog::~LocaleCatalog() {}
|
---|
21 |
|
---|
22 |
|
---|
23 | /*
|
---|
24 | * singleton access
|
---|
25 | */
|
---|
26 | LocaleCatalog*
|
---|
27 | LocaleCatalog::Instance()
|
---|
28 | {
|
---|
29 | BAutolock _l(s_instanceLock);
|
---|
30 | if (!s_instance)
|
---|
31 | s_instance = new LocaleCatalog();
|
---|
32 |
|
---|
33 | return s_instance;
|
---|
34 | }
|
---|
35 |
|
---|
36 |
|
---|
37 | /*
|
---|
38 | * kill current instance if any
|
---|
39 | */
|
---|
40 | void
|
---|
41 | LocaleCatalog::QuitInstance()
|
---|
42 | {
|
---|
43 | BAutolock _l(s_instanceLock);
|
---|
44 | if (s_instance)
|
---|
45 | s_instance = 0;
|
---|
46 | }
|
---|
47 |
|
---|
48 |
|
---|
49 | /*
|
---|
50 | * hidden constructor (use Instance() to access a single instance)
|
---|
51 | */
|
---|
52 | LocaleCatalog::LocaleCatalog()
|
---|
53 | :
|
---|
54 | fAppCatalog(NULL)
|
---|
55 | {
|
---|
56 | // TODO: here something else than be_locale should be called ?
|
---|
57 | be_locale->GetAppCatalog(&fAppCatalog);
|
---|
58 | }
|
---|
59 |
|
---|
60 |
|
---|
61 | bool
|
---|
62 | LocaleCatalog::QuitRequested()
|
---|
63 | {
|
---|
64 | return false;
|
---|
65 | }
|
---|
66 |
|
---|
67 |
|
---|
68 | void
|
---|
69 | LocaleCatalog::MessageReceived(BMessage* message)
|
---|
70 | {
|
---|
71 | switch (message->what) {
|
---|
72 | default:
|
---|
73 | ;
|
---|
74 | }
|
---|
75 | }
|
---|
76 |
|
---|