2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
18 #ifndef TIZENAPIS_TIZEN_JS_BLUETOOTH_SERVICE_HANDLER_H_
19 #define TIZENAPIS_TIZEN_JS_BLUETOOTH_SERVICE_HANDLER_H_
21 #include <JavaScriptCore/JavaScript.h>
22 #include <CommonsJavaScript/PrivateObject.h>
23 #include <API/Bluetooth/IBluetoothServiceHandlerManager.h>
26 using namespace WrtDeviceApis::CommonsJavaScript;
31 typedef PrivateObjectT<Api::Bluetooth::IBluetoothServiceHandlerManagerPtr>::Type JSBluetoothServiceHandlerPriv;
33 class JSBluetoothServiceHandler
36 static const JSClassDefinition* getClassInfo();
37 static const JSClassRef getClassRef();
39 static JSObjectRef createJSObject(JSContextRef context, std::string name, std::string uuid, int registerSock);
42 static void initialize(JSContextRef context, JSObjectRef object);
43 static void finalize(JSObjectRef object);
44 static bool hasInstance(JSContextRef context, JSObjectRef constructor, JSValueRef possibleInstance, JSValueRef* exception);
45 static JSValueRef getUuid(JSContextRef context, JSObjectRef object, JSStringRef propertyName, JSValueRef* exception);
46 static bool setOnConnect(JSContextRef context, JSObjectRef object, JSStringRef propertyName, JSValueRef value, JSValueRef* exception);
47 static void getPropertyNames(JSContextRef context, JSObjectRef object, JSPropertyNameAccumulatorRef propertyNames);
48 static JSValueRef unregisterRFCOMMService(JSContextRef context, JSObjectRef object, JSObjectRef thisObject, size_t argumentCount,
49 const JSValueRef arguments[], JSValueRef* exception);
50 static JSValueRef getName(JSContextRef context, JSObjectRef object, JSStringRef propertyName,JSValueRef* exception);
51 static JSValueRef getIsConnected(JSContextRef context, JSObjectRef object, JSStringRef propertyName, JSValueRef* exception);
53 static JSClassDefinition m_classInfo;
54 static JSStaticValue m_properties[];
55 static JSStaticFunction m_function[];
56 static JSClassRef m_jsClassRef;