[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                                 alert('Problem with bluetooth device. Application can\'t work properly: ' + error.message);
28                                 tizen.application.getCurrentApplication().exit();
29                         }
30                 },
31
32                 checkPowerState: function Model_checkPowerState(showPowerOnButtonCallback, showStartButtonsCallback) {
33                         if (!this.adapter.powered) {
34                                 showPowerOnButtonCallback();
35                         } else {
36                                 showStartButtonsCallback();
37                         }
38                 },
39
40                 powerOn: function Model_powerOn(callback) {
41                         if (!this.adapter.powered) {
42                                 this.adapter.setPowered(true, function () { setTimeout(function () { callback(); }, 500); }, function () {});
43                         } else {
44                                 callback();
45                         }
46                 },
47
48                 powerOff: function Model_powerOff(callback) {
49                         var app = tizen.application.getCurrentApplication();
50                         if (this.adapter.powered) {
51                                 this.adapter.setPowered(false, function () { callback(); }, function () { callback(); });
52                         } else {
53                                 callback();
54                         }
55                 },
56
57                 restartBluetooth: function Model_restartBluetooth(callback) {
58                         if (this.adapter.powered) {
59                                 this.adapter.setPowered(false, function () { setTimeout(function () { callback(); }, 500); }, function () {});
60                         } else {
61                                 callback();
62                         }
63                 },
64
65                 setAdapterName: function Model_setAdapterName(changeName, callback) {
66                         if (changeName) {
67                                 this.adapter.setName(app.currentName, function () {
68                                         callback();
69                                 }, function () {
70                                 });
71                         } else {
72                                 callback();
73                         }
74                 }
75         };
76 }());