Git Init
[profile/ivi/wrt-plugins-tizen.git] / src / platform / API / TimeUtil / ITimeUtil.h
1 /*
2  * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License. 
15  */
16
17
18
19
20 #ifndef _ABSTRACT_LAYER_ITIMEUTIL_H_
21 #define _ABSTRACT_LAYER_ITIMEUTIL_H_
22
23 #include <string>
24 #include <vector>
25
26 #include <dpl/shared_ptr.h>
27 #include <Commons/ThreadPool.h>
28 #include <Commons/EventReceiver.h>
29 #include "EventSetCurrentTZDate.h"
30
31 namespace TizenApis {
32 namespace Api {
33 namespace TimeUtil{
34
35 using namespace WrtDeviceApis::Commons;
36
37 class ITimeUtil
38 {
39     public:
40
41
42         ITimeUtil() {}
43         
44         virtual                     ~ITimeUtil() {}
45
46         virtual void setCurrentTZDate(const TZDateProperties &tzdate) =0;
47         virtual std::string getLocalTimezone( )=0;
48         virtual std::string getUTCTimezone() =0;
49         virtual std::vector<std::string> getAvailableTimezones() =0;
50         virtual std::string getDateFormat(const bool b_shortFormat)=0;
51         virtual std::string getTimeFormat() =0;
52 };
53
54 typedef DPL::SharedPtr<ITimeUtil> ITimeUtilPtr;
55
56 }
57 }
58 }
59
60 #endif /* _ABSTRACT_LAYER_ITIMEUTIL_H_ */