LocationAPI_TypesAndValues.ttcn 4.06 KB
Newer Older
Yann Garcia's avatar
Yann Garcia committed
1
2
3
4
module LocationAPI_TypesAndValues {
  
  // LibCommon
  import from LibCommon_BasicTypesAndValues all;
Yann Garcia's avatar
Yann Garcia committed
5
6
7
8
9
10

  /**
   * @desc
   * @member seconds The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC
   * @member nanoSeconds The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC
   */
Yann Garcia's avatar
Yann Garcia committed
11
12
13
14
15
16
17
  type record TimeStamp {
    UInt32 seconds,
    UInt32 nanoSeconds
  }
  
  /**
   * @desc A type containing user information.
Yann Garcia's avatar
Yann Garcia committed
18
19
20
21
22
   * @member address_ Address of user (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI).
   * @member accessPointId Identifier of access point, <E-CGI><Cell Portion ID> (reference ETSI TS 129 171).
   * @member zoneId Identifier of zone
   * @member resourceURL Self referring URL.
   * @member locationInfo A type containing location information with latitude, longitude and altitude, in addition the accuracy of the information are provided.
Yann Garcia's avatar
Yann Garcia committed
23
24
   * @member contextLocationInfo 
   * @member ancillaryInfo 
Yann Garcia's avatar
Yann Garcia committed
25
26
27
28
29
30
31
32
33
34
35
36
   */
  type record UserInfo {
    universal charstring address_,
    universal charstring accessPointId,
    universal charstring zoneId,
    universal charstring resourceURL,
    LocationInfo locationInfo optional,
    universal charstring contextLocationInfo optional,
    universal charstring ancillaryInfo optional
  } with {
    variant (address_) "name as 'address'";
  } // End of type UserInfo
Yann Garcia's avatar
Yann Garcia committed
37
38
39
40
41
42
43
44
45
46
47

  /**
   * @desc A type containing list of users.
   * @member user Collection of the zone information list.
   * @member resourceURL Self referring URL.
   */
  type record of UserInfo UserInfos;
  type record UserList {
    UserInfos user optional,
    universal charstring resourceURL
  }
Yann Garcia's avatar
Yann Garcia committed
48
49
50
  
  /**
   * @desc A type containing location information with latitude, longitude and altitude, in addition the accuracy of the information are provided.
Yann Garcia's avatar
Yann Garcia committed
51
52
53
54
   * @member latitude
   * @member longitude
   * @member altitude
   * @member accuracy
Yann Garcia's avatar
Yann Garcia committed
55
56
57
58
59
60
61
62
63
64
   */
  type record LocationInfo {
    float latitude,
    float longitude,
    float altitude optional,
    integer accuracy
  } // End of type LocationInfo
  
  /**
   * @desc A type containing zone information.
Yann Garcia's avatar
Yann Garcia committed
65
66
67
68
69
   * @member zoneId Identifier of zone
   * @member numberOfAccessPoints The number of access points within the zone
   * @member numberOfUnservicableAccessPoints Number of inoperable access points within the zone.
   * @member numberOfUsers The number of users currently on the access point.
   * @member resourceURL Self referring URL.
Yann Garcia's avatar
Yann Garcia committed
70
71
72
73
74
75
76
77
   */
  type record ZoneInfo {
    universal charstring zoneId,
    UInt32 numberOfAccessPoints,
    UInt32 numberOfUnservicableAccessPoints,
    UInt32 numberOfUsers,
    universal charstring resourceURL
  }
Yann Garcia's avatar
Yann Garcia committed
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93

  /**
   * @desc Collection of the zone information list.
   * @member zone Collection of the zone information list.
   * @member resourceURL Self referring URL.
   */
  type record of ZoneInfo ZoneInfos;
  type record ZoneList {
    ZoneInfos zone optional,
    universal charstring resourceURL
  }

  /**
   * @desc The connection type for the access point.
   */
  type enumerated ConnectionType {
Yann Garcia's avatar
Yann Garcia committed
94
95
96
97
98
99
100
101
102
103
    Femto,
    LTE_femto,
    Smallcell,
    LTE_smallcell,
    Wifi,
    Pico,
    Micro,
    Macro,
    Wimax,
    Unknown
Yann Garcia's avatar
Yann Garcia committed
104
105
106
107
108
109
  }

  /**
   * @desc The operation status of the access point
   */
  type enumerated OperationStatus {
Yann Garcia's avatar
Yann Garcia committed
110
111
112
    Serviceable,
    Unserviceable,
    Unknown
Yann Garcia's avatar
Yann Garcia committed
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
  }
  
  /**
   * @desc A type containing access point information.
   * @member accessPointId
   * @member connectionType The connection type for the access poin
   * @member operationStatus The operation status of the access point
   * @member numberOfUsers The number of users currently on the access point.
   * @member resourceURL Self referring URL.
   */
  type record AccessPointInfo {
    universal charstring accessPointId,
    ConnectionType connectionType,
    OperationStatus operationStatus,
    UInt32 numberOfUsers,
    universal charstring resourceURL
  }

  type record of AccessPointInfo AccessPointInfos
  type record AccessPointInfoList {
    AccessPointInfos AccessPointInfo optional,
    universal charstring resourceURL
  }
Yann Garcia's avatar
Yann Garcia committed
136
137
138
139
  
} with {
  encode "JSON"
}