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
|
/*
* Copyright (C) 2015 Bayerische Motoren Werke AG (BMW).
* Author: Manfred Bathelt (manfred.bathelt@bmw.de)
* Author: Juergen Gehring (juergen.gehring@bmw.de)
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
*
* CommonAPI C++ SOME/IP deployment for CommonAPI C++ 3.x
* Version: 1.0
*
* Generic deployment specification for CommonAPI 3.x to be used by
* all CommonAPI code generation tools, e.g.
* CommonAPI-Tools
* CommonAPI-DBus-Tools
* CommonAPI-SOMEIP-Tools
* and all other CommonAPI language bindings compatible to CommonAPI C++ 3.x
*/
specification org.genivi.commonapi.core.deployment {
for interfaces {
/*
* define the enumeration backing type on CommonAPI C++ level for whole interface.
*/
DefaultEnumBackingType : {UInt8, UInt16, UInt32, UInt64, Int8, Int16, Int32, Int64} (default: UInt32);
}
for providers {
/*
* Enumerate all service instances this provider depends on (if any).
*/
ClientInstanceReferences : Instance[] (optional);
}
for instances {
/*
* The CommonAPI address string has the format "domain:interfaceid:instanceid"
* according to CommonAPI specification.
* To avoid inconsistencies only domain and instance id can be specified during deployment,
* while the interface id is fixed by the interface the instance realizes.
*/
Domain : String (default: "local"); // the domain part of the CommonAPI address.
InstanceId : String; // the instance id of the CommonAPI address.
/*
* Define default timeout for all methods awaiting results of an instance in seconds.
* 0s means no timeout/waiting forever.
* if the timeout elapsed without arrival of a valid result an error will be delivered to the application.
*/
DefaultMethodTimeout : Integer (default:0);
/*
* provide properties to register for instance. use "Name=Value" as format.
* This deployment property is currently not supported.
*/
PreregisteredProperties : String [] (optional);
}
for methods {
/*
* timeout for method calls in ns.
* If timeout is defined with value > 0, then a method call will return with a timeout error
* in case no result arrived before the timeout elapsed.
* 0 means no timeout.
*/
Timeout : Integer (default: 0);
}
for enumerations {
/*
* define the enumeration backing type on CommonAPI C++ level for a specific enumeration.
* If not specified use "ApiDefaultEnumBackingType".
*/
EnumBackingType : {UInt8, UInt16, UInt32, UInt64, Int8, Int16, Int32, Int64} (optional);
}
}
|