UniMRCP
1.3.0
Main Page
Related Pages
Data Structures
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
libs
mpf
include
mpf_message.h
Go to the documentation of this file.
1
/*
2
* Copyright 2008-2014 Arsen Chaloyan
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*
16
* $Id: mpf_message.h 2136 2014-07-04 06:33:36Z achaloyan@gmail.com $
17
*/
18
19
#ifndef MPF_MESSAGE_H
20
#define MPF_MESSAGE_H
21
22
/**
23
* @file mpf_message.h
24
* @brief Media Processing Framework Message Definitions
25
*/
26
27
#include "
mpf_types.h
"
28
29
APT_BEGIN_EXTERN_C
30
31
/** Max number of messages grouped in a container */
32
#define MAX_MPF_MESSAGE_COUNT 5
33
34
/** Enumeration of MPF message types */
35
typedef
enum
{
36
MPF_MESSAGE_TYPE_REQUEST
,
/**< request message */
37
MPF_MESSAGE_TYPE_RESPONSE
,
/**< response message */
38
MPF_MESSAGE_TYPE_EVENT
/**< event message */
39
}
mpf_message_type_e
;
40
41
/** Enumeration of MPF status codes */
42
typedef
enum
{
43
MPF_STATUS_CODE_SUCCESS
,
/**< indicates success */
44
MPF_STATUS_CODE_FAILURE
/**< indicates failure */
45
}
mpf_status_code_e
;
46
47
48
/** Enumeration of MPF commands */
49
typedef
enum
{
50
MPF_ADD_TERMINATION
,
/**< add termination to context */
51
MPF_MODIFY_TERMINATION
,
/**< modify termination properties */
52
MPF_SUBTRACT_TERMINATION
,
/**< subtract termination from context */
53
MPF_ADD_ASSOCIATION
,
/**< add association between terminations */
54
MPF_REMOVE_ASSOCIATION
,
/**< remove association between terminations */
55
MPF_RESET_ASSOCIATIONS
,
/**< reset associations among terminations (also destroy topology) */
56
MPF_APPLY_TOPOLOGY
,
/**< apply topology based on assigned associations */
57
MPF_DESTROY_TOPOLOGY
/**< destroy applied topology */
58
}
mpf_command_type_e
;
59
60
/** MPF message declaration */
61
typedef
struct
mpf_message_t
mpf_message_t
;
62
/** MPF message container declaration */
63
typedef
struct
mpf_message_container_t
mpf_message_container_t
;
64
65
/** MPF message definition */
66
struct
mpf_message_t
{
67
/** Message type (request/response/event) */
68
mpf_message_type_e
message_type
;
69
/** Command identifier (add, modify, subtract, ...) */
70
mpf_command_type_e
command_id
;
71
/** Status code used in responses */
72
mpf_status_code_e
status_code
;
73
74
/** Context */
75
mpf_context_t
*
context
;
76
/** Termination */
77
mpf_termination_t
*
termination
;
78
/** Associated termination */
79
mpf_termination_t
*
assoc_termination
;
80
/** Termination type dependent descriptor */
81
void
*
descriptor
;
82
};
83
84
/** MPF message container definition */
85
struct
mpf_message_container_t
{
86
/** Number of actual messages */
87
apr_size_t
count
;
88
/** Array of messages */
89
mpf_message_t
messages
[
MAX_MPF_MESSAGE_COUNT
];
90
};
91
92
APT_END_EXTERN_C
93
94
#endif
/* MPF_MESSAGE_H */
Generated on Mon Feb 2 2015 19:41:38 for UniMRCP by
1.8.3.1