1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using FObjBase;
using FLY.Thick.Blowing.OBJ_INTERFACE;
using FLY.Thick.Blowing.IService;
using Newtonsoft.Json;
namespace FLY.Thick.Blowing.Server.OBJProxy
{
public class ScanWarning_OBJProxy : FObj
{
#region 延时推送 MARKNO
const int MARKNO_PUSH_PARAMS = 1;
#endregion
IScanWarningService mScanWarning;
public ScanWarning_OBJProxy(int objsys_idx, UInt32 id, IScanWarningService scanWarning):base(objsys_idx)
{
ID = id;
mScanWarning = scanWarning;
mScanWarning.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(mScanWarning_PropertyChanged);
}
void mScanWarning_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
if ((e.PropertyName == "AlarmCnt_Tolerance") ||
(e.PropertyName == "Enable") ||
(e.PropertyName == "IsAutoTarget")
)
{
FObjBase.PollModule.Current.Poll_JustOnce(
new PollModule.PollHandler(delegate()
{
byte[] buf;
GetValue(null, 0, SCANWARNING_OBJ_INTERFACE.GET_PARAMS, out buf);
CurrObjSys.PushObjInfoEx(
this, SCANWARNING_OBJ_INTERFACE.PUSH_PARAMS,
buf);
}), this, MARKNO_PUSH_PARAMS);
}
}
public override void GetValue(IFConn from, uint srcid, ushort memid, out byte[] infodata)
{
switch (memid)
{
case SCANWARNING_OBJ_INTERFACE.GET_PARAMS:
{
SCANWARNING_OBJ_INTERFACE.Pack_Params p = new SCANWARNING_OBJ_INTERFACE.Pack_Params()
{
alarmcnt_tolerance= mScanWarning.AlarmCnt_Tolerance,
enable = mScanWarning.Enable,
isAutoTarget = mScanWarning.IsAutoTarget
};
string json = JsonConvert.SerializeObject(p);
infodata = Misc.Converter.StringToBytes(json);
} break;
default:
infodata = null;
break;
}
}
public override void SetValue(IFConn from, uint srcid, ushort memid, byte[] infodata)
{
switch (memid)
{
case SCANWARNING_OBJ_INTERFACE.SET_PARAMS:
{
string json = Misc.Converter.BytesToString(infodata);
SCANWARNING_OBJ_INTERFACE.Pack_Params p = JsonConvert.DeserializeObject<SCANWARNING_OBJ_INTERFACE.Pack_Params>(json);
mScanWarning.AlarmCnt_Tolerance = p.alarmcnt_tolerance;
mScanWarning.Enable = p.enable;
mScanWarning.IsAutoTarget = p.isAutoTarget;
mScanWarning.Apply();
} break;
}
}
}
}