[BluetoothChat]update BluetoothChat(tizen_2.1)
[samples/web/BluetoothChat.git] / js / app.model.js
1 /*jslint plusplus: true, sloppy: true, todo: true, vars: true, browser: true, devel: true, maxerr: 999 */
2 /*global $, tizen, app */
3 /**
4  * @class Model
5  */
6 function Model() {
7         'use strict';
8         this.adapter = null;
9         this.serviceUUID = '5BCE9431-6C75-32AB-AFE0-2EC108A30860';
10 }
11
12 (function () { // strict mode wrapper
13         'use strict';
14         Model.prototype = {
15
16                 /**
17                  * API module initialisation
18                  */
19                 init: function Model_init(callback) {
20                         try {
21                                 console.log('getDefaultAdapter');
22                                 var time = new Date().getTime();
23                                 this.adapter = tizen.bluetooth.getDefaultAdapter();
24                                 console.log('getDefaultAdapter OK: ' + (new Date().getTime() - time) + ' milliseconds.');
25                                 callback();
26                         } catch (error) {
27                                 console.error('Problem with bluetooth device. Application can\'t work properly: ' + error.message);
28                         }
29                 },
30
31                 checkPowerState: function Model_checkPowerState(showPowerOnButtonCallback, showStartButtonsCallback) {
32                         if (!this.adapter.powered) {
33                                 showPowerOnButtonCallback();
34                         } else {
35                                 showStartButtonsCallback();
36                         }
37                 },
38
39                 powerOn: function Model_powerOn(callback) {
40                         if (!this.adapter.powered) {
41                                 this.adapter.setPowered(true, function () { setTimeout(function () { callback(); }, 500); }, function () {});
42                         } else {
43                                 callback();
44                         }
45                 },
46
47                 powerOff: function Model_powerOff(callback) {
48                         var app = tizen.application.getCurrentApplication();
49                         if (this.adapter.powered) {
50                                 this.adapter.setPowered(false, function () { callback(); }, function () { callback(); });
51                         } else {
52                                 callback();
53                         }
54                 },
55
56                 restartBluetooth: function Model_restartBluetooth(callback) {
57                         if (this.adapter.powered) {
58                                 this.adapter.setPowered(false, function () { setTimeout(function () { callback(); }, 500); }, function () {});
59                         } else {
60                                 callback();
61                         }
62                 },
63
64                 setAdapterName: function Model_setAdapterName(changeName, callback) {
65                         if (changeName) {
66                                 this.adapter.setName(app.currentName, function () {
67                                         callback();
68                                 }, function () {
69                                 });
70                         } else {
71                                 callback();
72                         }
73                 }
74         };
75 }());