summaryrefslogtreecommitdiffstats
path: root/private/tapi/dev/apps/acd/acdsmpl.h
diff options
context:
space:
mode:
Diffstat (limited to 'private/tapi/dev/apps/acd/acdsmpl.h')
-rw-r--r--private/tapi/dev/apps/acd/acdsmpl.h192
1 files changed, 192 insertions, 0 deletions
diff --git a/private/tapi/dev/apps/acd/acdsmpl.h b/private/tapi/dev/apps/acd/acdsmpl.h
new file mode 100644
index 000000000..10e93dbbe
--- /dev/null
+++ b/private/tapi/dev/apps/acd/acdsmpl.h
@@ -0,0 +1,192 @@
+#ifndef _ACDSMPL_
+#define _ACDSMPL_
+
+#include <windows.h>
+#include <commdlg.h>
+#include <commctrl.h>
+#include <tapi.h>
+
+///////////////////////////////////////////////////////////////////////////
+//
+// STRUCTURES
+//
+///////////////////////////////////////////////////////////////////////////
+
+typedef struct _tagLISTITEM;
+
+typedef struct
+{
+ DWORD dwState;
+ DWORD dwNextState;
+ DWORD dwActivity;
+
+} ADDRESSINFO, * PADDRESSINFO;
+
+typedef struct _tagAGENT
+{
+ DWORD dwKey;
+ DWORD dwSize;
+ struct _tagAGENT * pNext;
+ struct _tagAGENT * pPrev;
+ LPTSTR lpszName;
+ LPTSTR lpszNumber;
+ HTREEITEM hItem;
+ DWORD dwDeviceID;
+ DWORD dwPermID;
+ HLINE hLine;
+ DWORD dwNumAddresses;
+ PADDRESSINFO pAddressInfo;
+
+} AGENT, * PAGENT;
+
+typedef struct _tagGROUP
+{
+ DWORD dwKey;
+ DWORD dwSize;
+ struct _tagGROUP * pNext;
+ struct _tagGROUP * pPrev;
+ LPTSTR lpszName;
+ HTREEITEM hItem;
+ HLINE hLine;
+ DWORD dwDeviceID;
+ DWORD dwAddress;
+ struct _tagLISTITEM * pAgentList;
+
+} GROUP, * PGROUP;
+
+typedef struct _tagGENERICSTRUCT
+{
+ DWORD dwKey;
+ DWORD dwSize;
+ struct _tagGENERICSTRUCT * pNext;
+ struct _tagGENERICSTRUCT * pPrev;
+
+} GENERICSTRUCT, * PGENERICSTRUCT;
+
+typedef struct _tagLISTITEM
+{
+ DWORD dwKey;
+ DWORD dwSize;
+ struct _tagLISTITEM * pNext;
+ struct _tagLISTITEM * pPrev;
+ PAGENT pAgent;
+ BOOL bLoggedIn;
+ DWORD dwAddress;
+
+} LISTITEM, * PLISTITEM;
+
+
+typedef struct _tagACDGLOBALS
+{
+ PAGENT pAgents;
+ PGROUP pGroups;
+ DWORD dwNumAgents;
+ DWORD dwNumGroups;
+ LPDWORD pdwPermIDs;
+ HINSTANCE hInstance;
+ HLINEAPP hLineApp;
+ DWORD dwNumDevs;
+ HWND hMainWnd;
+ HWND hTreeWnd;
+ HWND hLogWnd;
+ BOOL bGroupView;
+ DWORD dwBarLocation;
+ HTREEITEM hAgentParent;
+ HTREEITEM hGroupParent;
+ HTREEITEM hTreeItemWithMenu;
+
+} ACDGLOBALS, * LPACDGLOBALS;
+
+
+////////////////////////////////////////////////////////////////////////////////////////////////
+//
+// PROTOTYPES
+//
+////////////////////////////////////////////////////////////////////////////////////////////////
+
+// memory
+LPVOID ACDAlloc(DWORD dwSize);
+
+void ACDFree(LPVOID pBuf);
+
+LPVOID ACDReAlloc(LPVOID pBuf,
+ DWORD dwSize);
+
+// tapi utils
+LINEADDRESSCAPS * LineGetAddressCaps (HLINEAPP hLineApp,
+ DWORD dwDeviceID,
+ DWORD dwAddressID);
+
+LINECALLINFO * LineGetCallInfo (HCALL hCall);
+
+LINEDEVCAPS * LineGetDevCaps (HLINEAPP hLineApp,
+ DWORD dwDeviceID);
+
+VARSTRING * LineGetID (HLINE hLine,
+ DWORD dwAddressID,
+ HCALL hCall,
+ DWORD dwSelect,
+ LPCTSTR lpszDeviceClass);
+
+LINECALLSTATUS * LineGetCallStatus (HCALL hCall);
+
+// list utils
+BOOL InsertStruct(PGENERICSTRUCT * ppRoot,
+ PGENERICSTRUCT pStruct);
+
+BOOL DeleteStruct(PGENERICSTRUCT * ppRoot,
+ PGENERICSTRUCT pStruct);
+
+PGROUP AddGroup(LPTSTR lpszName,
+ DWORD dwDeviceID,
+ DWORD dwAddress);
+
+PAGENT AddAgent(LPTSTR lpszName,
+ LPTSTR lpszNumber,
+ DWORD dwDeviceID);
+
+BOOL DeleteAgent(PAGENT pAgent);
+
+BOOL DeleteGroup(PGROUP pGroup);
+
+BOOL InsertIntoGroupList(PGROUP pGroup,
+ PAGENT pAgent);
+
+BOOL RemoveFromGroupList(PGROUP pGroup,
+ PAGENT pAgent);
+
+DWORD GetDeviceID(DWORD dwPermID);
+
+PAGENT GetAgentFromhLine(HLINE hLine);
+
+PAGENT GetAgentFromName(LPTSTR lpszName);
+
+PLISTITEM IsAgentInList(PLISTITEM pList,
+ PAGENT pAgent);
+
+///////////////////////////////////////////////////////////////////////////
+//
+// DEFINES
+//
+///////////////////////////////////////////////////////////////////////////
+
+#define TOTALACTIVITIES 10
+#define NUMGROUPENTRIES 10
+#define NAMESIZE 128
+
+// structure keys
+#define GROUPROOTKEY 'GRRT'
+#define AGENTROOTKEY 'AGRT'
+#define AGENTKEY 'AGNT'
+#define GROUPKEY 'GROU'
+#define LISTKEY 'LIST'
+
+
+// window control defines
+#define SIZEBAR 3
+#define WINDOWSCALEFACTOR 15
+
+#define SZAPPNAME TEXT("ACD Sample")
+
+#endif
+