3 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
19 #ifndef WRTPLUGINS_API_ISYSTEMINFO_H_
20 #define WRTPLUGINS_API_ISYSTEMINFO_H_
22 #include <dpl/shared_ptr.h>
23 #include <Commons/ThreadPool.h>
25 #include "BaseProperties.h"
26 #include "EventGetSysteminfo.h"
27 #include "EventWatchSysteminfo.h"
31 namespace Systeminfo {
33 class EventGetSysteminfo;
34 class EventWatchSysteminfo;
35 typedef DPL::SharedPtr<EventGetSysteminfo> EventGetSysteminfoPtr;
36 typedef DPL::SharedPtr<EventWatchSysteminfo> EventWatchSysteminfoPtr;
39 public WrtDeviceApis::Commons::EventRequestReceiver<EventGetSysteminfo>,
40 public WrtDeviceApis::Commons::EventRequestReceiver<EventWatchSysteminfo>
43 virtual ~ISysteminfo();
45 virtual bool isPropertyValid(JSContextRef context, JSValueRef property) = 0;
46 virtual void get(const EventGetSysteminfoPtr& event) = 0;
47 virtual void watch(const EventWatchSysteminfoPtr& event) = 0;
48 virtual BasePropertyPtr getBasePropertyPtr(JSContextRef context, JSValueRef property) = 0;
49 virtual void clearWatch(const long id) = 0;
54 virtual void OnRequestReceived(const EventGetSysteminfoPtr& event) = 0;
55 virtual void OnRequestReceived(const EventWatchSysteminfoPtr& event) = 0;
58 typedef DPL::SharedPtr<ISysteminfo> ISysteminfoPtr;