libIEC61850
0.8.2
Open-source IEC 61850 MMS/GOOSE server and client library
Main Page
Modules
Classes
Files
File List
File Members
All
Classes
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Groups
Pages
mms
inc
mms_device_model.h
Go to the documentation of this file.
1
/*
2
* mms_model.h
3
*
4
* Copyright 2013 Michael Zillgith
5
*
6
* This file is part of libIEC61850.
7
*
8
* libIEC61850 is free software: you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License as published by
10
* the Free Software Foundation, either version 3 of the License, or
11
* (at your option) any later version.
12
*
13
* libIEC61850 is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU General Public License for more details.
17
*
18
* You should have received a copy of the GNU General Public License
19
* along with libIEC61850. If not, see <http://www.gnu.org/licenses/>.
20
*
21
* See COPYING file for the complete license text.
22
*/
23
24
#ifndef MMS_DEVICE_MODEL_H_
25
#define MMS_DEVICE_MODEL_H_
26
27
#include "libiec61850_common_api.h"
28
29
#include "
mms_type_spec.h
"
30
#include "mms_common.h"
31
#include "
mms_named_variable_list.h
"
32
33
#ifdef __cplusplus
34
extern
"C"
{
35
#endif
36
37
typedef
struct
{
38
char
*
deviceName
;
39
40
/* MMS VMD scope variables support */
41
int
namedVariablesCount
;
42
MmsVariableSpecification**
namedVariables
;
43
44
/* MMS VMD scope named variables list support */
45
LinkedList
/*<MmsNamedVariableList>*/
namedVariableLists
;
46
47
/* MMS domain support */
48
int
domainCount
;
49
MmsDomain**
domains
;
50
}
MmsDevice
;
51
52
/*
53
* Server side data structure to hold informations for a MMS domain (Logical Device)
54
*/
55
struct
sMmsDomain
{
56
char
*
domainName
;
57
int
namedVariablesCount
;
58
MmsVariableSpecification**
namedVariables
;
59
LinkedList
/*<MmsNamedVariableList>*/
namedVariableLists
;
60
};
61
77
MmsDomain*
78
MmsDomain_create
(
char
* domainName);
79
80
char
*
81
MmsDomain_getName
(MmsDomain*
self
);
82
88
void
89
MmsDomain_destroy
(MmsDomain*
self
);
90
103
bool
104
MmsDomain_addNamedVariableList
(MmsDomain*
self
, MmsNamedVariableList variableList);
105
115
void
116
MmsDomain_deleteNamedVariableList
(MmsDomain*
self
,
char
* variableListName);
117
118
MmsNamedVariableList
119
MmsDomain_getNamedVariableList
(MmsDomain*
self
,
char
* variableListName);
120
121
LinkedList
122
MmsDomain_getNamedVariableLists
(MmsDomain*
self
);
123
124
LinkedList
125
MmsDomain_getNamedVariableListValues
(MmsDomain*
self
,
char
* variableListName);
126
127
LinkedList
128
MmsDomain_createNamedVariableListValues
(MmsDomain*
self
,
char
* variableListName);
129
138
MmsVariableSpecification*
139
MmsDomain_getNamedVariable
(MmsDomain*
self
,
char
* nameId);
140
152
MmsDevice
*
153
MmsDevice_create
(
char
* deviceName);
154
158
void
159
MmsDevice_destroy
(
MmsDevice
*
self
);
160
168
MmsDomain*
169
MmsDevice_getDomain
(
MmsDevice
*
self
,
char
* domainId);
170
179
MmsVariableSpecification*
180
MmsDevice_getNamedVariable
(
MmsDevice
*
self
,
char
* variableName);
181
182
LinkedList
183
MmsDevice_getNamedVariableLists
(
MmsDevice
*
self
);
184
187
#ifdef __cplusplus
188
}
189
#endif
190
191
#endif
/* MMS_DEVICE_MODEL_H_ */
Generated on Tue Nov 25 2014 15:20:11 for libIEC61850 by
1.8.4