[go: up one dir, main page]

Menu

[r999]: / trunk / VTS3 / VTS.h  Maximize  Restore  History

Download this file

177 lines (148 with data), 6.1 kB

  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
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
// VTS.h : main header file for the VTS application
//
#if !defined(AFX_VTS_H__BDE65080_B82F_11D3_BE52_00A0C95A9812__INCLUDED_)
#define AFX_VTS_H__BDE65080_B82F_11D3_BE52_00A0C95A9812__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#ifndef __AFXWIN_H__
#error include 'stdafx.h' before including this file for PCH
#endif
#include "resource.h" // main symbols
#define MAX_SERVS_SUPP 50 // Must be at least as large as the number of elements in BACnetServicesSupported
#define DEVICE_LOOPBACK 1 // set to zero to disable "looped" messages
#define MAX_FAIL_TIMES 9 // Size of BACnetFailTimes array per 135.1-2013 4.5.9
#define MAX_BIBBS 200 // Number of BIBBS (plus growing room)
#define MAX_DATALINK_OPTIONS 30 // Size of array of supported datalinks from EPICS (plus growing room)
// Just the name. Each usage must use GetTempPath for the path
#define FILE_CHECK_EPICS_CONS "EPICSConsChk.txt"
// TODO: These fundamental equates COULD go into its a file of various BACnet enumerations.
// Or they could all live HERE
// To avoid collisions with C++ NULL, BACnetPropertyIdentifier OBJECT_IDENTIFIER
// and suchlike, we have prepended PRIM_ to these
#define PRIM_NULL 0
#define PRIM_BOOLEAN 1
#define PRIM_UNSIGNED 2
#define PRIM_SIGNED 3
#define PRIM_REAL 4
#define PRIM_DOUBLE 5
#define PRIM_OCTET_STRING 6
#define PRIM_CHARACTER_STRING 7
#define PRIM_BIT_STRING 8
#define PRIM_ENUMERATED 9
#define PRIM_DATE 10
#define PRIM_TIME 11
#define PRIM_OBJECT_IDENTIFIER 12
enum BACnetObjectType
{
OBJ_ANALOG_INPUT = 0,
OBJ_ANALOG_OUTPUT = 1,
OBJ_ANALOG_VALUE = 2,
OBJ_BINARY_INPUT = 3,
OBJ_BINARY_OUTPUT = 4,
OBJ_BINARY_VALUE = 5,
OBJ_CALENDAR = 6,
OBJ_COMMAND = 7,
OBJ_DEVICE = 8,
OBJ_EVENT_ENROLLMENT = 9,
OBJ_FILE = 10,
OBJ_GROUP = 11,
OBJ_LOOP = 12,
OBJ_MULTI_STATE_INPUT = 13,
OBJ_MULTI_STATE_OUTPUT = 14,
OBJ_NOTIFICATIONCLASS = 15,
OBJ_PROGRAM = 16,
OBJ_SCHEDULE = 17,
OBJ_AVERAGING = 18,
OBJ_MULTI_STATE_VALUE = 19,
OBJ_TREND_LOG = 20,
OBJ_LIFE_SAFETY_POINT = 21,
OBJ_LIFE_SAFETY_ZONE = 22,
OBJ_ACCUMULATOR = 23,
OBJ_PULSE_CONVERTER = 24,
OBJ_EVENT_LOG = 25,
OBJ_GLOBAL_GROUP = 26,
OBJ_TREND_LOG_MULTIPLE = 27,
OBJ_LOAD_CONTROL = 28,
OBJ_STRUCTURED_VIEW = 29,
OBJ_ACCESS_DOOR = 30,
OBJ_UNUSED_OBJ_31 = 31, // Was lighting-output during early review
OBJ_ACCESS_CREDENTIAL = 32, // Addendum 2008-j
OBJ_ACCESS_POINT = 33,
OBJ_ACCESS_RIGHTS = 34,
OBJ_ACCESS_USER = 35,
OBJ_ACCESS_ZONE = 36,
OBJ_CREDENTIAL_DATA_INPUT = 37, // Last in protocol revision 9
OBJ_NETWORK_SECURITY = 38, // 38 Addendum 2008-g
OBJ_BITSTRING_VALUE = 39, // protocol revision 10
OBJ_CHARACTERSTRING_VALUE = 40,
OBJ_DATE_PATTERN_VALUE = 41,
OBJ_DATE_VALUE = 42,
OBJ_DATETIME_PATTERN_VALUE = 43,
OBJ_DATETIME_VALUE = 44,
OBJ_INTEGER_VALUE = 45,
OBJ_LARGE_ANALOG_VALUE = 46,
OBJ_OCTETSTRING_VALUE = 47,
OBJ_POSITIVE_INTEGER_VALUE = 48,
OBJ_TIME_PATTERN_VALUE = 49,
OBJ_TIME_VALUE = 50, // 50 Last in 2008-w, protocol revision 10
OBJ_NOTIFICATION_FORWARDER = 51, // protocol revision 13
OBJ_ALERT_ENROLLMENT = 52,
OBJ_CHANNEL = 53, // protocol revision 14
OBJ_LIGHTING_OUTPUT = 54, // last in 135-2012 protocol revision 14
// After the last object, determine size of the above
MAX_DEFINED_OBJ // This is one more than the highest defined object type
};
//
// VTSApp
//
class VTSApp : public CWinApp {
private:
CDocTemplate *m_pdoctempConfig;
CRecentFileList *m_pRecentWorkspaceList;
CString m_version;
public:
VTSApp(void);
virtual ~VTSApp(void);
// Get the full path of theDirectory relative to the executable
void GetRelativeToExe( CString &thePath, LPCTSTR theDirectory ) const;
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(VTSApp)
public:
virtual BOOL InitInstance();
virtual int ExitInstance();
virtual BOOL PreTranslateMessage(MSG* pMsg);
//}}AFX_VIRTUAL
void LoadWorkspaceMRU(UINT nMaxMRU);
void AddToRecentWorkspaceList(LPCTSTR lpszPathName);
CRecentFileList* GetRecentFileList();
CDocument * GetWorkspace(void);
void CheckWinPcapVersion( void );
const CString& GetVersion() const { return m_version; }
void ShowUpdateInfo();
// Implementation
//{{AFX_MSG(VTSApp)
afx_msg void OnAppAbout();
afx_msg void OnFileWksNew();
afx_msg void OnFileWksSwitch();
afx_msg void OnUpdateRecentWorkspaceMenu(CCmdUI* pCmdUI);
afx_msg BOOL OnOpenRecentWorkspace(UINT nID);
afx_msg void OnCheckForUpdates();
// NOTE - the ClassWizard will add and remove member functions here.
// DO NOT EDIT what you see in these blocks of generated code !
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
typedef VTSApp *VTSAppPtr;
//
// Application specific windows messages
//
#define WM_VTS_RCOUNT (WM_APP+1) // new record count
#define WM_VTS_PORTSTATUS (WM_APP+2) // new port status
#define WM_VTS_EXECMSG (WM_APP+3) // new executor message
#define WM_VTS_MAXPACKETS (WM_APP+4) // reached max packets
#define WM_VTS_GOT_VERSION (WM_APP+5) // got lastest version info from the web
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_VTS_H__BDE65080_B82F_11D3_BE52_00A0C95A9812__INCLUDED_)