@xmobitea/gn-typescript-client 2.6.12 → 2.6.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/gearn.js.client.js +183 -57
- package/dist/gearn.js.client.min.js +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +183 -57
- package/dist/runtime/GNNetwork.d.ts +1 -1
- package/dist/runtime/helper/GNSupport.d.ts +20 -0
- package/dist/runtime/{entity → helper}/OperationHelper.d.ts +1 -1
- package/dist/runtime/helper/StorageService.d.ts +18 -0
- package/dist/runtime/networking/NetworkingPeer.d.ts +1 -1
- package/dist/runtime/typescript/ServiceUpdate.d.ts +2 -0
- package/docs/COCOS_CREATOR_INTEGRATION.md +116 -0
- package/examples/cocos-creator/GearNExample.ts.txt +176 -0
- package/package.json +3 -2
- package/srcSwift/Package.swift +32 -0
- package/srcSwift/Sources/GearN/runtime/GNNetwork.swift +530 -0
- package/srcSwift/Sources/GearN/runtime/GNNetworkAuthenticateApi.swift +178 -0
- package/srcSwift/Sources/GearN/runtime/GNNetworkCharacterPlayerApi.swift +1162 -0
- package/srcSwift/Sources/GearN/runtime/GNNetworkCloudScriptApi.swift +154 -0
- package/srcSwift/Sources/GearN/runtime/GNNetworkContentApi.swift +208 -0
- package/srcSwift/Sources/GearN/runtime/GNNetworkDashboardApi.swift +240 -0
- package/srcSwift/Sources/GearN/runtime/GNNetworkGamePlayerApi.swift +1369 -0
- package/srcSwift/Sources/GearN/runtime/GNNetworkGroupApi.swift +1100 -0
- package/srcSwift/Sources/GearN/runtime/GNNetworkInventoryApi.swift +937 -0
- package/srcSwift/Sources/GearN/runtime/GNNetworkMasterPlayerApi.swift +2323 -0
- package/srcSwift/Sources/GearN/runtime/GNNetworkMultiplayerApi.swift +298 -0
- package/srcSwift/Sources/GearN/runtime/GNNetworkStoreInventoryApi.swift +397 -0
- package/srcSwift/Sources/GearN/runtime/common/Action0.swift +3 -0
- package/srcSwift/Sources/GearN/runtime/common/Action1.swift +3 -0
- package/srcSwift/Sources/GearN/runtime/common/Action2.swift +3 -0
- package/srcSwift/Sources/GearN/runtime/common/Action3.swift +3 -0
- package/srcSwift/Sources/GearN/runtime/common/Action4.swift +3 -0
- package/srcSwift/Sources/GearN/runtime/common/GNArray.swift +204 -0
- package/srcSwift/Sources/GearN/runtime/common/GNData.swift +108 -0
- package/srcSwift/Sources/GearN/runtime/common/GNHashtable.swift +200 -0
- package/srcSwift/Sources/GearN/runtime/config/GNServerSettings.swift +95 -0
- package/srcSwift/Sources/GearN/runtime/constant/Commands.swift +28 -0
- package/srcSwift/Sources/GearN/runtime/constant/EventCode.swift +10 -0
- package/srcSwift/Sources/GearN/runtime/constant/OperationCode.swift +252 -0
- package/srcSwift/Sources/GearN/runtime/constant/ReturnCode.swift +19 -0
- package/srcSwift/Sources/GearN/runtime/constant/enumType/ExecuteResponseStatus.swift +9 -0
- package/srcSwift/Sources/GearN/runtime/constant/enumType/FriendStatus.swift +8 -0
- package/srcSwift/Sources/GearN/runtime/constant/enumType/GoogleLoginType.swift +6 -0
- package/srcSwift/Sources/GearN/runtime/constant/enumType/GroupStatus.swift +8 -0
- package/srcSwift/Sources/GearN/runtime/constant/enumType/InvalidMemberType.swift +19 -0
- package/srcSwift/Sources/GearN/runtime/constant/enumType/ItemType.swift +6 -0
- package/srcSwift/Sources/GearN/runtime/constant/enumType/MatchmakingMemberStatus.swift +7 -0
- package/srcSwift/Sources/GearN/runtime/constant/enumType/MatchmakingTicketStatus.swift +9 -0
- package/srcSwift/Sources/GearN/runtime/constant/enumType/OwnerType.swift +10 -0
- package/srcSwift/Sources/GearN/runtime/constant/enumType/PermissionDataItem.swift +6 -0
- package/srcSwift/Sources/GearN/runtime/constant/enumType/PushPlatformType.swift +6 -0
- package/srcSwift/Sources/GearN/runtime/constant/enumType/RequestRole.swift +7 -0
- package/srcSwift/Sources/GearN/runtime/constant/enumType/RequestType.swift +16 -0
- package/srcSwift/Sources/GearN/runtime/constant/enumType/StoreItemType.swift +6 -0
- package/srcSwift/Sources/GearN/runtime/constant/enumType/StoreReceiveType.swift +9 -0
- package/srcSwift/Sources/GearN/runtime/constant/errorCode/ErrorCode.swift +58 -0
- package/srcSwift/Sources/GearN/runtime/constant/parameterCode/ParameterCode.swift +672 -0
- package/srcSwift/Sources/GearN/runtime/entity/DataMember.swift +196 -0
- package/srcSwift/Sources/GearN/runtime/entity/GNMetadata.swift +9 -0
- package/srcSwift/Sources/GearN/runtime/entity/InvalidMember.swift +11 -0
- package/srcSwift/Sources/GearN/runtime/entity/OperationEvent.swift +38 -0
- package/srcSwift/Sources/GearN/runtime/entity/OperationHelper.swift +28 -0
- package/srcSwift/Sources/GearN/runtime/entity/OperationRequest.swift +62 -0
- package/srcSwift/Sources/GearN/runtime/entity/OperationResponse.swift +98 -0
- package/srcSwift/Sources/GearN/runtime/entity/models/AuthenticateModels.swift +351 -0
- package/srcSwift/Sources/GearN/runtime/entity/models/AuthenticateRequestModels.swift +81 -0
- package/srcSwift/Sources/GearN/runtime/entity/models/AuthenticateResponseModels.swift +108 -0
- package/srcSwift/Sources/GearN/runtime/entity/models/CharacterPlayerModels.swift +1045 -0
- package/srcSwift/Sources/GearN/runtime/entity/models/CharacterPlayerRequestModels.swift +821 -0
- package/srcSwift/Sources/GearN/runtime/entity/models/CharacterPlayerResponseModels.swift +588 -0
- package/srcSwift/Sources/GearN/runtime/entity/models/CloudScriptModels.swift +187 -0
- package/srcSwift/Sources/GearN/runtime/entity/models/CloudScriptRequestModels.swift +84 -0
- package/srcSwift/Sources/GearN/runtime/entity/models/CloudScriptResponseModels.swift +59 -0
- package/srcSwift/Sources/GearN/runtime/entity/models/ContentModels.swift +195 -0
- package/srcSwift/Sources/GearN/runtime/entity/models/ContentRequestModels.swift +116 -0
- package/srcSwift/Sources/GearN/runtime/entity/models/ContentResponseModels.swift +81 -0
- package/srcSwift/Sources/GearN/runtime/entity/models/DashboardModels.swift +426 -0
- package/srcSwift/Sources/GearN/runtime/entity/models/DashboardRequestModels.swift +160 -0
- package/srcSwift/Sources/GearN/runtime/entity/models/DashboardResponseModels.swift +82 -0
- package/srcSwift/Sources/GearN/runtime/entity/models/GamePlayerModels.swift +1334 -0
- package/srcSwift/Sources/GearN/runtime/entity/models/GamePlayerRequestModels.swift +643 -0
- package/srcSwift/Sources/GearN/runtime/entity/models/GamePlayerResponseModels.swift +213 -0
- package/srcSwift/Sources/GearN/runtime/entity/models/GenericModels.swift +171 -0
- package/srcSwift/Sources/GearN/runtime/entity/models/GroupModels.swift +850 -0
- package/srcSwift/Sources/GearN/runtime/entity/models/GroupRequestModels.swift +485 -0
- package/srcSwift/Sources/GearN/runtime/entity/models/GroupResponseModels.swift +165 -0
- package/srcSwift/Sources/GearN/runtime/entity/models/InventoryModels.swift +679 -0
- package/srcSwift/Sources/GearN/runtime/entity/models/InventoryRequestModels.swift +413 -0
- package/srcSwift/Sources/GearN/runtime/entity/models/InventoryResponseModels.swift +141 -0
- package/srcSwift/Sources/GearN/runtime/entity/models/MasterPlayerModels.swift +378 -0
- package/srcSwift/Sources/GearN/runtime/entity/models/MasterPlayerRequestModels.swift +147 -0
- package/srcSwift/Sources/GearN/runtime/entity/models/MasterPlayerResponseModels.swift +318 -0
- package/srcSwift/Sources/GearN/runtime/entity/models/MultiplayerModels.swift +319 -0
- package/srcSwift/Sources/GearN/runtime/entity/models/MultiplayerRequestModels.swift +125 -0
- package/srcSwift/Sources/GearN/runtime/entity/models/MultiplayerResponseModels.swift +45 -0
- package/srcSwift/Sources/GearN/runtime/entity/models/StoreInventoryModels.swift +633 -0
- package/srcSwift/Sources/GearN/runtime/entity/models/StoreInventoryRequestModels.swift +173 -0
- package/srcSwift/Sources/GearN/runtime/entity/models/StoreInventoryResponseModels.swift +61 -0
- package/srcSwift/Sources/GearN/runtime/entity/request/CustomOperationRequest.swift +42 -0
- package/srcSwift/Sources/GearN/runtime/entity/response/CustomOperationResponse.swift +49 -0
- package/srcSwift/Sources/GearN/runtime/entity/response/GetAuthInfoResponse.swift +43 -0
- package/srcSwift/Sources/GearN/runtime/entity/response/HealthCheckResponse.swift +86 -0
- package/srcSwift/Sources/GearN/runtime/entity/response/UploadFileResponse.swift +15 -0
- package/srcSwift/Sources/GearN/runtime/helper/CodeHelper.swift +107 -0
- package/srcSwift/Sources/GearN/runtime/helper/ConverterService.swift +98 -0
- package/srcSwift/Sources/GearN/runtime/helper/EnumUtility.swift +34 -0
- package/srcSwift/Sources/GearN/runtime/helper/GNSupport.swift +41 -0
- package/srcSwift/Sources/GearN/runtime/helper/GNUtils.swift +66 -0
- package/srcSwift/Sources/GearN/runtime/helper/MessagePackConverterService.swift +21 -0
- package/srcSwift/Sources/GearN/runtime/helper/StorageService.swift +29 -0
- package/srcSwift/Sources/GearN/runtime/logger/GNDebug.swift +33 -0
- package/srcSwift/Sources/GearN/runtime/networking/AuthenticateStatus.swift +24 -0
- package/srcSwift/Sources/GearN/runtime/networking/IPeer.swift +8 -0
- package/srcSwift/Sources/GearN/runtime/networking/NetworkingPeer.swift +368 -0
- package/srcSwift/Sources/GearN/runtime/networking/OperationPending.swift +81 -0
- package/srcSwift/Sources/GearN/runtime/networking/PeerBase.swift +228 -0
- package/srcSwift/Sources/GearN/runtime/networking/handler/IServerEventHandler.swift +20 -0
- package/srcSwift/Sources/GearN/runtime/networking/http/HttpPeer.swift +226 -0
- package/srcSwift/Sources/GearN/runtime/networking/http/HttpTypes.swift +24 -0
- package/srcSwift/Sources/GearN/runtime/networking/http/NetworkingHttpPeerBase.swift +13 -0
- package/srcSwift/Sources/GearN/runtime/networking/http/NetworkingPeerUrlSession.swift +125 -0
- package/srcSwift/Sources/GearN/runtime/networking/request/NetRequest.swift +19 -0
- package/srcSwift/Sources/GearN/runtime/networking/response/NetResponse.swift +13 -0
- package/srcSwift/Sources/GearN/runtime/networking/socket/NetworkingPeerSocketIOClient.swift +244 -0
- package/srcSwift/Sources/GearN/runtime/networking/socket/NetworkingSocketPeerBase.swift +59 -0
- package/srcSwift/Sources/GearN/runtime/networking/socket/SocketPeer.swift +136 -0
- package/tsconfig-build.cocos.json +31 -0
- package/webpack.config.cocos.mjs +78 -0
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
|
|
3
|
+
public protocol IGNAnyDataMember: AnyObject {
|
|
4
|
+
var intCode: Int? { get }
|
|
5
|
+
var stringCode: String? { get }
|
|
6
|
+
var isOptional: Bool { get }
|
|
7
|
+
func setValue(from data: GNHashtable)
|
|
8
|
+
func getValue() -> Any?
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
@propertyWrapper
|
|
12
|
+
public class DataMember<T>: IGNAnyDataMember {
|
|
13
|
+
public let intCode: Int?
|
|
14
|
+
public let stringCode: String?
|
|
15
|
+
public let isOptional: Bool
|
|
16
|
+
public let defaultValue: T?
|
|
17
|
+
|
|
18
|
+
public var wrappedValue: T
|
|
19
|
+
|
|
20
|
+
public init(wrappedValue: T, code: Int? = nil, key: String? = nil, isOptional: Bool = false, defaultValue: T? = nil) {
|
|
21
|
+
self.wrappedValue = wrappedValue
|
|
22
|
+
self.intCode = code
|
|
23
|
+
self.stringCode = key
|
|
24
|
+
self.isOptional = isOptional
|
|
25
|
+
self.defaultValue = defaultValue
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// Convenience init for optional types initialized as nil
|
|
29
|
+
public init(code: Int? = nil, key: String? = nil, isOptional: Bool = false, defaultValue: T? = nil) where T: ExpressibleByNilLiteral {
|
|
30
|
+
self.wrappedValue = nil
|
|
31
|
+
self.intCode = code
|
|
32
|
+
self.stringCode = key
|
|
33
|
+
self.isOptional = isOptional
|
|
34
|
+
self.defaultValue = defaultValue
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
public func setValue(from data: GNHashtable) {
|
|
38
|
+
var val: Any? = nil
|
|
39
|
+
if let code = intCode {
|
|
40
|
+
val = data.getObject(code)
|
|
41
|
+
} else if let key = stringCode {
|
|
42
|
+
val = data.getObject(key)
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
if let v = val as? T {
|
|
46
|
+
self.wrappedValue = v
|
|
47
|
+
} else if let def = self.defaultValue {
|
|
48
|
+
self.wrappedValue = def
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
public func getValue() -> Any? {
|
|
53
|
+
return self.wrappedValue
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
public var code: Int { return intCode ?? 0 } // Legacy support if needed, or remove protocol requirement for non-optional code
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// MARK: - Specialized Wrappers
|
|
60
|
+
|
|
61
|
+
@propertyWrapper
|
|
62
|
+
public class StringDataMember: DataMember<String?> {
|
|
63
|
+
public init(wrappedValue: String? = nil, code: Int? = nil, key: String? = nil, minLength: Int = 0, maxLength: Int = Int.max, mustNonNull: Bool = false, isOptional: Bool = true, defaultValue: String? = nil) {
|
|
64
|
+
super.init(wrappedValue: wrappedValue, code: code, key: key, isOptional: isOptional, defaultValue: defaultValue)
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
public override func setValue(from data: GNHashtable) {
|
|
68
|
+
var val: String? = nil
|
|
69
|
+
if let c = intCode { val = data.getString(c) }
|
|
70
|
+
else if let k = stringCode { val = data.getString(k) }
|
|
71
|
+
|
|
72
|
+
if let v = val {
|
|
73
|
+
self.wrappedValue = v
|
|
74
|
+
} else {
|
|
75
|
+
self.wrappedValue = self.defaultValue
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
@propertyWrapper
|
|
81
|
+
public class BooleanDataMember: DataMember<Bool?> {
|
|
82
|
+
public init(wrappedValue: Bool? = nil, code: Int? = nil, key: String? = nil, isOptional: Bool = true, defaultValue: Bool? = nil) {
|
|
83
|
+
super.init(wrappedValue: wrappedValue, code: code, key: key, isOptional: isOptional, defaultValue: defaultValue)
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
public override func setValue(from data: GNHashtable) {
|
|
87
|
+
var val: Bool? = nil
|
|
88
|
+
if let c = intCode { val = data.getBool(c) }
|
|
89
|
+
else if let k = stringCode { val = data.getBool(k) }
|
|
90
|
+
|
|
91
|
+
if let v = val {
|
|
92
|
+
self.wrappedValue = v
|
|
93
|
+
} else {
|
|
94
|
+
self.wrappedValue = self.defaultValue
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
@propertyWrapper
|
|
100
|
+
public class NumberDataMember: DataMember<Int> {
|
|
101
|
+
public init(wrappedValue: Int = 0, code: Int? = nil, key: String? = nil, isOptional: Bool = false, defaultValue: Int = 0, minValue: Int = Int.min, maxValue: Int = Int.max, mustInt: Bool = true) {
|
|
102
|
+
super.init(wrappedValue: wrappedValue, code: code, key: key, isOptional: isOptional, defaultValue: defaultValue)
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
public override func setValue(from data: GNHashtable) {
|
|
106
|
+
var val: Int? = nil
|
|
107
|
+
if let c = intCode { val = data.getInt(c) }
|
|
108
|
+
else if let k = stringCode { val = data.getInt(k) }
|
|
109
|
+
|
|
110
|
+
if let v = val {
|
|
111
|
+
self.wrappedValue = v
|
|
112
|
+
} else {
|
|
113
|
+
self.wrappedValue = self.defaultValue ?? 0
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
@propertyWrapper
|
|
119
|
+
public class GNHashtableDataMember<T: Initiable>: DataMember<T?> {
|
|
120
|
+
public init(wrappedValue: T? = nil, code: Int? = nil, key: String? = nil, isOptional: Bool = true, mustNonNull: Bool = false) {
|
|
121
|
+
super.init(wrappedValue: wrappedValue, code: code, key: key, isOptional: isOptional, defaultValue: nil)
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
public override func setValue(from data: GNHashtable) {
|
|
125
|
+
var val: GNHashtable? = nil
|
|
126
|
+
if let c = intCode { val = data.getGNHashtable(c) }
|
|
127
|
+
else if let k = stringCode { val = data.getGNHashtable(k) }
|
|
128
|
+
|
|
129
|
+
if let v = val {
|
|
130
|
+
self.wrappedValue = ConverterService.deserializeObject(gnHashtable: v, cls: T.self)
|
|
131
|
+
} else {
|
|
132
|
+
self.wrappedValue = nil
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
public override func getValue() -> Any? {
|
|
137
|
+
if let v = self.wrappedValue {
|
|
138
|
+
return ConverterService.serializeObject(object: v)
|
|
139
|
+
}
|
|
140
|
+
return nil
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
@propertyWrapper
|
|
145
|
+
public class GNArrayDataMember<T>: DataMember<[T]?> {
|
|
146
|
+
public let elementCls: Any.Type?
|
|
147
|
+
|
|
148
|
+
public init(wrappedValue: [T]? = nil, code: Int? = nil, key: String? = nil, isOptional: Bool = true, elementCls: Any.Type? = nil) {
|
|
149
|
+
self.elementCls = elementCls
|
|
150
|
+
super.init(wrappedValue: wrappedValue, code: code, key: key, isOptional: isOptional, defaultValue: nil)
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
public override func setValue(from data: GNHashtable) {
|
|
154
|
+
var list: GNArray? = nil
|
|
155
|
+
if let c = intCode { list = data.getGNArray(c) }
|
|
156
|
+
else if let k = stringCode { list = data.getGNArray(k) }
|
|
157
|
+
|
|
158
|
+
guard let validList = list else {
|
|
159
|
+
self.wrappedValue = nil
|
|
160
|
+
return
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
if let _ = T.self as? String.Type {
|
|
164
|
+
self.wrappedValue = validList.toArray() as? [T]
|
|
165
|
+
} else if let _ = T.self as? Int.Type {
|
|
166
|
+
self.wrappedValue = validList.toArray() as? [T]
|
|
167
|
+
} else {
|
|
168
|
+
if let elType = elementCls as? Initiable.Type {
|
|
169
|
+
var res: [T] = []
|
|
170
|
+
for i in 0..<validList.count {
|
|
171
|
+
if let ht = validList.getGNHashtable(i), let obj = ConverterService.deserializeObject(gnHashtable: ht, cls: elType) as? T {
|
|
172
|
+
res.append(obj)
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
self.wrappedValue = res
|
|
176
|
+
} else {
|
|
177
|
+
self.wrappedValue = validList.toArray() as? [T]
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
public override func getValue() -> Any? {
|
|
183
|
+
guard let list = self.wrappedValue else { return nil }
|
|
184
|
+
let gnParams = GNArray()
|
|
185
|
+
for item in list {
|
|
186
|
+
if let validItem = item as? Initiable {
|
|
187
|
+
if let ser = ConverterService.serializeObject(object: validItem) {
|
|
188
|
+
gnParams.add(ser)
|
|
189
|
+
}
|
|
190
|
+
} else {
|
|
191
|
+
gnParams.add(item)
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
return gnParams
|
|
195
|
+
}
|
|
196
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
|
|
3
|
+
public struct InvalidMember {
|
|
4
|
+
public var code: String
|
|
5
|
+
public var invalidMemberType: InvalidMemberType
|
|
6
|
+
|
|
7
|
+
public init(code: String, invalidMemberType: InvalidMemberType) {
|
|
8
|
+
self.code = code
|
|
9
|
+
self.invalidMemberType = invalidMemberType
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
|
|
3
|
+
public class OperationEvent {
|
|
4
|
+
private var eventCode: String
|
|
5
|
+
private var parameters: GNHashtable?
|
|
6
|
+
|
|
7
|
+
public init(eventCode: String, parameters: GNHashtable? = nil) {
|
|
8
|
+
self.eventCode = eventCode
|
|
9
|
+
self.parameters = parameters
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
public func getEventCode() -> String {
|
|
13
|
+
return self.eventCode
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
public func getParameters() -> GNHashtable? {
|
|
17
|
+
return self.parameters
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
@discardableResult
|
|
21
|
+
public func setParameter(key: String, value: Any) -> OperationEvent {
|
|
22
|
+
if self.parameters == nil {
|
|
23
|
+
self.parameters = GNHashtable()
|
|
24
|
+
}
|
|
25
|
+
self.parameters?.add(key, value)
|
|
26
|
+
return self
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
@discardableResult
|
|
30
|
+
public func setParameters(parameters: GNHashtable) -> OperationEvent {
|
|
31
|
+
self.parameters = parameters
|
|
32
|
+
return self
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
public var description: String {
|
|
36
|
+
return "EventCode: \(self.eventCode), parameters: \(self.parameters?.toData().description ?? "nil")"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
|
|
3
|
+
public class OperationHelper {
|
|
4
|
+
public static func toSocketData(requestType: RequestType, role: RequestRole, request: OperationRequest) -> [Any?] {
|
|
5
|
+
let requestId = request.getRequestId()
|
|
6
|
+
|
|
7
|
+
if requestId == -1 || requestId == 0 { // 0 might be default unchecked value
|
|
8
|
+
return [
|
|
9
|
+
CodeHelper.getRequestTypeName(requestType.rawValue),
|
|
10
|
+
CodeHelper.getRequestRoleName(role.rawValue),
|
|
11
|
+
request.getOperationCode(),
|
|
12
|
+
(request.getParameters() == nil) ? nil : request.getParameters()!.toData()
|
|
13
|
+
]
|
|
14
|
+
} else {
|
|
15
|
+
return [
|
|
16
|
+
CodeHelper.getRequestTypeName(requestType.rawValue),
|
|
17
|
+
CodeHelper.getRequestRoleName(role.rawValue),
|
|
18
|
+
request.getOperationCode(),
|
|
19
|
+
(request.getParameters() == nil) ? nil : request.getParameters()!.toData(),
|
|
20
|
+
requestId
|
|
21
|
+
]
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
public static func toHttpData(requestType: RequestType, role: RequestRole, request: OperationRequest) -> Any? {
|
|
26
|
+
return nil
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
|
|
3
|
+
public class OperationRequest {
|
|
4
|
+
public static let defaultTimeOut: Int = 20
|
|
5
|
+
|
|
6
|
+
private var operationCode: String
|
|
7
|
+
private var requestId: Int = 0
|
|
8
|
+
private var parameters: GNHashtable?
|
|
9
|
+
private var timeout: Int
|
|
10
|
+
|
|
11
|
+
public init(operationCode: String, timeout: Int = OperationRequest.defaultTimeOut) {
|
|
12
|
+
self.operationCode = operationCode
|
|
13
|
+
self.timeout = timeout
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
public func getOperationCode() -> String {
|
|
17
|
+
return self.operationCode
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
public func getRequestId() -> Int {
|
|
21
|
+
return self.requestId
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
public func getParameters() -> GNHashtable? {
|
|
25
|
+
return self.parameters
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
public func getTimeout() -> Int {
|
|
29
|
+
return self.timeout
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
@discardableResult
|
|
33
|
+
public func setRequestId(_ requestId: Int) -> OperationRequest {
|
|
34
|
+
self.requestId = requestId
|
|
35
|
+
return self
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
@discardableResult
|
|
39
|
+
public func setParameter(key: String, value: Any) -> OperationRequest {
|
|
40
|
+
if self.parameters == nil {
|
|
41
|
+
self.parameters = GNHashtable()
|
|
42
|
+
}
|
|
43
|
+
self.parameters?.add(key, value)
|
|
44
|
+
return self
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
@discardableResult
|
|
48
|
+
public func setParameters(_ parameters: GNHashtable) -> OperationRequest {
|
|
49
|
+
self.parameters = parameters
|
|
50
|
+
return self
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
@discardableResult
|
|
54
|
+
public func setTimeout(_ timeout: Int) -> OperationRequest {
|
|
55
|
+
self.timeout = timeout
|
|
56
|
+
return self
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
public var description: String {
|
|
60
|
+
return "OperationCode: \(self.operationCode), requestId: \(self.requestId), parameters: \(self.parameters?.toData().description ?? "nil")"
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
|
|
3
|
+
public class OperationResponse {
|
|
4
|
+
private var operationCode: String
|
|
5
|
+
private var responseId: Int
|
|
6
|
+
private var returnCode: Int = 0
|
|
7
|
+
private var debugMessage: String?
|
|
8
|
+
private var parameters: GNHashtable?
|
|
9
|
+
|
|
10
|
+
private var invalidMembers: [InvalidMember]?
|
|
11
|
+
|
|
12
|
+
public init(operationCode: String, responseId: Int) {
|
|
13
|
+
self.operationCode = operationCode
|
|
14
|
+
self.responseId = responseId
|
|
15
|
+
self.parameters = GNHashtable()
|
|
16
|
+
self.debugMessage = nil
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
public func getOperationCode() -> String {
|
|
20
|
+
return self.operationCode
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
public func getReturnCode() -> Int {
|
|
24
|
+
return self.returnCode
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
public func getParameters() -> GNHashtable? {
|
|
28
|
+
return self.parameters
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
public func getResponseId() -> Int {
|
|
32
|
+
return self.responseId
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
public func getDebugMessage() -> String? {
|
|
36
|
+
return self.debugMessage
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
public func getInvalidMembers() -> [InvalidMember]? {
|
|
40
|
+
return self.invalidMembers
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
public func hasError() -> Bool {
|
|
44
|
+
return self.returnCode != ReturnCode.Ok
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
@discardableResult
|
|
48
|
+
public func setReturnCode(_ returnCode: Int) -> OperationResponse {
|
|
49
|
+
self.returnCode = returnCode
|
|
50
|
+
return self
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
@discardableResult
|
|
54
|
+
public func setDebugMessage(_ debugMessage: String?) -> OperationResponse {
|
|
55
|
+
self.debugMessage = debugMessage
|
|
56
|
+
return self
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
@discardableResult
|
|
60
|
+
public func setParameter(key: String, value: Any) -> OperationResponse {
|
|
61
|
+
if self.parameters == nil {
|
|
62
|
+
self.parameters = GNHashtable()
|
|
63
|
+
}
|
|
64
|
+
self.parameters?.add(key, value)
|
|
65
|
+
return self
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
@discardableResult
|
|
69
|
+
public func setParameters(_ parameters: GNHashtable) -> OperationResponse {
|
|
70
|
+
self.parameters = parameters
|
|
71
|
+
return self
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
@discardableResult
|
|
75
|
+
public func setInvalidMembers(_ invalidMembers: [InvalidMember]?) -> OperationResponse {
|
|
76
|
+
self.invalidMembers = invalidMembers
|
|
77
|
+
return self
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
public var description: String {
|
|
81
|
+
var stringBuilder = "OperationCode: \(self.operationCode), responseId: \(self.responseId), returnCode: \(CodeHelper.getReturnCodeName(self.returnCode))"
|
|
82
|
+
|
|
83
|
+
if self.returnCode == ReturnCode.Ok {
|
|
84
|
+
stringBuilder += ", parameters: \(self.parameters?.toData().description ?? "nil")"
|
|
85
|
+
} else if self.returnCode == ReturnCode.InvalidRequestParameters {
|
|
86
|
+
if let invalidMembers = self.invalidMembers {
|
|
87
|
+
let invalidStr = invalidMembers.map { "\($0.code) (\($0.invalidMemberType))" }.joined(separator: ", ")
|
|
88
|
+
stringBuilder += ", invalidMembers: \(invalidStr)"
|
|
89
|
+
} else {
|
|
90
|
+
stringBuilder += ", invalidMembers: nil"
|
|
91
|
+
}
|
|
92
|
+
} else {
|
|
93
|
+
stringBuilder += ", debugMessage: \(self.debugMessage ?? "nil")"
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
return stringBuilder
|
|
97
|
+
}
|
|
98
|
+
}
|