root / HServer / 00.Server / 00.Program / modules / agent_module.js
이력 | 보기 | 이력해설 | 다운로드 (3.91 KB)
1 |
var dbCenter = require('../db_modules/dbCenter'); |
---|---|
2 |
|
3 |
var mySocket = require('../socket.io_modules/mySocket'); |
4 |
|
5 |
var collectionName = 'agent'; |
6 |
|
7 |
var control = {};
|
8 |
|
9 |
|
10 |
|
11 |
// agent 가 연결이 되었을 경우
|
12 |
control.connect = function( data, callback ){ |
13 |
console.log('[agent_module] agent 접속');
|
14 |
var jsonValue = JSON.parse(data);
|
15 |
|
16 |
dbCenter.findClient(collectionName, jsonValue.mac, function(err, result){
|
17 |
if(err){
|
18 |
console.log('[agent find] err : ' + err.toString());
|
19 |
return;
|
20 |
} else {
|
21 |
if(result){
|
22 |
var sendData = JSON.stringify(result);
|
23 |
console.log('[agent find] 결과를 찾았습니다. : ' + sendData);
|
24 |
|
25 |
var changeData = result;
|
26 |
changeData.connect = true;
|
27 |
|
28 |
|
29 |
dbCenter.modifiy(collectionName, result, changeData,function(err, result){
|
30 |
if(err){
|
31 |
console.log(err.toString()); |
32 |
} else {
|
33 |
if(result){
|
34 |
callback('agent_connect', sendData); // 연결된 콜백함수 |
35 |
} else {
|
36 |
console.log('결과가 없습니다.');
|
37 |
} |
38 |
} |
39 |
}); |
40 |
} else {
|
41 |
console.log('[agent find] 결과가 없습니다. 새로운 것입니다.');
|
42 |
jsonValue.connect = true;
|
43 |
dbCenter.add(collectionName, jsonValue, function(err){
|
44 |
if(err){
|
45 |
console.log('[agent add] err : ' + err.toString());
|
46 |
return;
|
47 |
} else {
|
48 |
console.log('[agent add] 성공');
|
49 |
|
50 |
callback('agnet_new', jsonValue); // 새로운 콜백함수 |
51 |
} |
52 |
}); |
53 |
} |
54 |
} |
55 |
}); |
56 |
}; |
57 |
|
58 |
control.disconnect = function( mac, callback){ |
59 |
dbCenter.findClient(collectionName, mac, function(err, result){
|
60 |
if(err){
|
61 |
console.log('[agent find] err : ' + err.toString());
|
62 |
return;
|
63 |
} else {
|
64 |
if(result){
|
65 |
console.log('[agent find] 결과를 찾았습니다.');
|
66 |
result.connect = 'disconnect';
|
67 |
callback(null, result);
|
68 |
} else {
|
69 |
console.log('[agent find] 결과가 없습니다.');
|
70 |
} |
71 |
} |
72 |
}); |
73 |
}; |
74 |
|
75 |
control.stateChange = function(mac, state, callback){ |
76 |
dbCenter.findClient(collectionName, mac, function(err, result){
|
77 |
if( err){
|
78 |
return;
|
79 |
} else {
|
80 |
if(result){
|
81 |
var changeData = result;
|
82 |
changeData.state = state; |
83 |
|
84 |
dbCenter.modifiy(collectionName, result, changeData, function(err, result){
|
85 |
if(err){
|
86 |
callback(err, null);
|
87 |
return;
|
88 |
} else {
|
89 |
if(result){
|
90 |
callback(null, result);
|
91 |
} |
92 |
} |
93 |
}); |
94 |
} |
95 |
} |
96 |
}); |
97 |
} |
98 |
|
99 |
|
100 |
control.getOne = function( mac, callback ){ |
101 |
dbCenter.findClient(collectionName, mac, function(err, result){
|
102 |
if(err){
|
103 |
|
104 |
} else {
|
105 |
if( result ){
|
106 |
|
107 |
} else {
|
108 |
|
109 |
} |
110 |
} |
111 |
}); |
112 |
}; |
113 |
|
114 |
control.FindAgentForContentName = function(contentsName, callback){ |
115 |
dbCenter.findAll(collectionName, function(err, result){
|
116 |
if(err==null&&result!=null){ |
117 |
var resultArray = [];
|
118 |
|
119 |
for(var i = 0; i< result.length; i++){ |
120 |
if(result[i].contents == contentsName){
|
121 |
resultArray.push(result[i]); |
122 |
} |
123 |
} |
124 |
callback(null, resultArray);
|
125 |
} |
126 |
}); |
127 |
}; |
128 |
|
129 |
|
130 |
|
131 |
|
132 |
module.exports = control; |