Git Init
[profile/ivi/wrt-plugins-tizen.git] / src / standards / Tizen / Bluetooth / JSBluetoothDevice.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 #ifndef TIZENAPIS_TIZEN_JS_BLUETOOTH_DEVICE_H_
19 #define TIZENAPIS_TIZEN_JS_BLUETOOTH_DEVICE_H_
20
21 #include <JavaScriptCore/JavaScript.h>
22 #include <API/Bluetooth/IBluetoothDeviceManager.h>
23 #include <CommonsJavaScript/PrivateObject.h>
24  
25 using namespace TizenApis::Api;
26 using namespace TizenApis::Api::Bluetooth;
27 using namespace WrtDeviceApis::CommonsJavaScript;
28
29 namespace TizenApis {
30 namespace Tizen1_0 {
31
32 typedef PrivateObjectT<Api::Bluetooth::IBluetoothDeviceManagerPtr>::Type JSBluetoothDevicePriv;
33
34 class JSBluetoothDevice 
35 {
36 public:
37         static const JSClassDefinition* getClassInfo();
38         static const JSClassRef getClassRef();
39         static JSObjectRef createJSObject(JSContextRef context, BluetoothDeviceData device);
40
41
42 private:
43         static void initialize(JSContextRef context, JSObjectRef object);
44         static void finalize(JSObjectRef object);
45         static bool hasInstance(JSContextRef context, JSObjectRef constructor,
46                 JSValueRef possibleInstance, JSValueRef* exception);
47         static JSValueRef getName(JSContextRef context, JSObjectRef object, JSStringRef propertyName, JSValueRef* exception);
48         static JSValueRef getAddress(JSContextRef context, JSObjectRef object, JSStringRef propertyName, JSValueRef* exception);
49         static JSValueRef getDeviceClass(JSContextRef context, JSObjectRef object, JSStringRef propertyName, JSValueRef* exception);
50         static JSValueRef getBondProperty(JSContextRef context, JSObjectRef object, JSStringRef propertyName, JSValueRef* exception);
51         static JSValueRef getTrustProperty(JSContextRef context, JSObjectRef object, JSStringRef propertyName, JSValueRef* exception);
52         static JSValueRef getConnectProperty(JSContextRef context, JSObjectRef object, JSStringRef propertyName, JSValueRef* exception);
53         static JSValueRef getUuids(JSContextRef context, JSObjectRef object, JSStringRef propertyName, JSValueRef* exception);
54         static JSValueRef connectToServiceByUUID(JSContextRef context, JSObjectRef object,
55                 JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[],
56                 JSValueRef* exception);
57         static JSClassDefinition m_classInfo;
58         static JSStaticFunction m_function[];
59         static JSStaticValue m_properties[];
60         static JSClassRef m_jsClassRef;
61 };
62
63
64 }
65
66 #endif
67