aboutsummaryrefslogtreecommitdiffstats
path: root/addons/ooh323c/src/ooCmdChannel.h
blob: b0767acc7c7251a7bdb7e6a1ea8e59a04fac1e4d (plain)
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
/*
 * Copyright (C) 2004-2005 by Objective Systems, Inc.
 *
 * This software is furnished under an open source license and may be 
 * used and copied only in accordance with the terms of this license. 
 * The text of the license may generally be found in the root 
 * directory of this installation in the COPYING file.  It 
 * can also be viewed online at the following URL:
 *
 *   http://www.obj-sys.com/open/license.html
 *
 * Any redistributions of this file including modified versions must 
 * maintain this copyright notice.
 *
 *****************************************************************************/
/**
 * @file ooCmdChannel.h 
 * This file contains stack commands which an user application can use to make
 * call, hang call etc. 
 */

#ifndef OO_CMDCHANNEL_H
#define OO_CMDCHANNEL_H

#include "ootypes.h"
#include "ooStackCmds.h"
#ifdef __cplusplus
extern "C" {
#endif

#ifndef EXTERN
#if defined (MAKE_DLL)
#define EXTERN __declspec(dllexport)
#else
#define EXTERN
#endif /* MAKE_DLL */
#endif /* EXTERN */


#define OO_DEFAULT_CMDLISTENER_PORT 7575

/**
 * @addtogroup channels 
 * @{
 */

/**
 * This function is used to setup a command connection with the main stack 
 * thread. The application commands are sent over this connection to stack 
 * thread.
 *
 * @return          OO_OK, on success; OO_FAILED, on failure
 */
EXTERN int ooCreateCmdConnection(void);
EXTERN int ooCreateCallCmdConnection(OOH323CallData*);

/**
 * This function is used to close a command channel setup with the stack 
 * thread.
 *
 * @return          OO_OK, on success; OO_FAILED, on failure
 */
EXTERN int ooCloseCmdConnection(void);
EXTERN int ooCloseCallCmdConnection(OOH323CallData*);


/**
 * This function is used by stack api to write stack commands to command 
 * channel.
 *
 * @return          OO_OK, on success; OO_FAILED, on failure
 */
EXTERN int ooWriteStackCommand(OOStackCommand *cmd);
EXTERN int ooWriteCallStackCommand(OOH323CallData* call, OOStackCommand *cmd);

/**
 * This function is used by stack thread to read and process stack commands 
 * received over command channel.
 *
 * @return          OO_OK, on success; OO_FAILED, on failure
 */
EXTERN int ooReadAndProcessStackCommand(void);
EXTERN int ooReadAndProcessCallStackCommand(OOH323CallData*);


/** 
 * @} 
 */

#ifdef __cplusplus
}
#endif

#endif