steamd 0.1.0

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.
Files changed (64) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +5 -0
  3. data/.rspec +2 -0
  4. data/.rubocop.yml +4 -0
  5. data/.ruby-version +1 -0
  6. data/.travis.yml +6 -0
  7. data/Gemfile +3 -0
  8. data/LICENSE +21 -0
  9. data/README.md +51 -0
  10. data/Rakefile +22 -0
  11. data/bin/console +6 -0
  12. data/bin/setup +6 -0
  13. data/bin/steamd +6 -0
  14. data/grammar/class.treetop +63 -0
  15. data/grammar/enums.treetop +44 -0
  16. data/grammar/import.treetop +11 -0
  17. data/grammar/shared.treetop +62 -0
  18. data/grammar/steamd.treetop +15 -0
  19. data/language/emsg.steamd +1802 -0
  20. data/language/enums.steamd +989 -0
  21. data/language/eresult.steamd +119 -0
  22. data/language/gamecoordinator.steamd +17 -0
  23. data/language/header.steamd +37 -0
  24. data/language/netheader.steamd +62 -0
  25. data/language/steammsg.steamd +357 -0
  26. data/lib/ext/string.rb +33 -0
  27. data/lib/steamd.rb +40 -0
  28. data/lib/steamd/cli.rb +24 -0
  29. data/lib/steamd/cli_options.rb +58 -0
  30. data/lib/steamd/code_generator.rb +41 -0
  31. data/lib/steamd/generated/emsg.rb +3464 -0
  32. data/lib/steamd/generated/enums.rb +1750 -0
  33. data/lib/steamd/generated/eresult.rb +236 -0
  34. data/lib/steamd/generated/gamecoordinator.rb +119 -0
  35. data/lib/steamd/generated/header.rb +261 -0
  36. data/lib/steamd/generated/netheader.rb +315 -0
  37. data/lib/steamd/generated/steammsg.rb +2527 -0
  38. data/lib/steamd/generator.rb +6 -0
  39. data/lib/steamd/generator/generated_class.rb +128 -0
  40. data/lib/steamd/generator/generated_enum.rb +60 -0
  41. data/lib/steamd/generator/generated_import.rb +21 -0
  42. data/lib/steamd/generator/implementation.rb +83 -0
  43. data/lib/steamd/generator/ruby/class.erb +39 -0
  44. data/lib/steamd/generator/ruby/enum.erb +14 -0
  45. data/lib/steamd/generator/ruby/import.erb +1 -0
  46. data/lib/steamd/generator/ruby/ruby.rb +54 -0
  47. data/lib/steamd/generator/ruby/serializable_constant.rb +20 -0
  48. data/lib/steamd/generator/ruby/serializable_type.rb +93 -0
  49. data/lib/steamd/generator/ruby/serializable_variable.rb +85 -0
  50. data/lib/steamd/generator/ruby/steam_serializable.rb +89 -0
  51. data/lib/steamd/nodes/block_node.rb +14 -0
  52. data/lib/steamd/nodes/class_statement_node.rb +46 -0
  53. data/lib/steamd/nodes/class_type_node.rb +12 -0
  54. data/lib/steamd/nodes/enum_statement_node.rb +50 -0
  55. data/lib/steamd/nodes/enum_variable_node.rb +24 -0
  56. data/lib/steamd/nodes/import_statement_node.rb +26 -0
  57. data/lib/steamd/nodes/node.rb +3 -0
  58. data/lib/steamd/nodes/nodes.rb +10 -0
  59. data/lib/steamd/nodes/variable_node.rb +106 -0
  60. data/lib/steamd/parser.rb +157 -0
  61. data/lib/steamd/version.rb +14 -0
  62. data/steamd.gemspec +38 -0
  63. data/tasks/language.rake +11 -0
  64. metadata +220 -0
@@ -0,0 +1,236 @@
1
+ # Represents the EResult enum
2
+ class EResult
3
+ # Data type of EResult
4
+ DATA_TYPE = 'int'
5
+ # Constant INVALID for EResult
6
+ INVALID = 0
7
+ # Constant OK for EResult
8
+ OK = 1
9
+ # Constant FAIL for EResult
10
+ FAIL = 2
11
+ # Constant NO_CONNECTION for EResult
12
+ NO_CONNECTION = 3
13
+ # Constant INVALID_PASSWORD for EResult
14
+ INVALID_PASSWORD = 5
15
+ # Constant LOGGED_IN_ELSEWHERE for EResult
16
+ LOGGED_IN_ELSEWHERE = 6
17
+ # Constant INVALID_PROTOCOL_VER for EResult
18
+ INVALID_PROTOCOL_VER = 7
19
+ # Constant INVALID_PARAM for EResult
20
+ INVALID_PARAM = 8
21
+ # Constant FILE_NOT_FOUND for EResult
22
+ FILE_NOT_FOUND = 9
23
+ # Constant BUSY for EResult
24
+ BUSY = 10
25
+ # Constant INVALID_STATE for EResult
26
+ INVALID_STATE = 11
27
+ # Constant INVALID_NAME for EResult
28
+ INVALID_NAME = 12
29
+ # Constant INVALID_EMAIL for EResult
30
+ INVALID_EMAIL = 13
31
+ # Constant DUPLICATE_NAME for EResult
32
+ DUPLICATE_NAME = 14
33
+ # Constant ACCESS_DENIED for EResult
34
+ ACCESS_DENIED = 15
35
+ # Constant TIMEOUT for EResult
36
+ TIMEOUT = 16
37
+ # Constant BANNED for EResult
38
+ BANNED = 17
39
+ # Constant ACCOUNT_NOT_FOUND for EResult
40
+ ACCOUNT_NOT_FOUND = 18
41
+ # Constant INVALID_STEAM_ID for EResult
42
+ INVALID_STEAM_ID = 19
43
+ # Constant SERVICE_UNAVAILABLE for EResult
44
+ SERVICE_UNAVAILABLE = 20
45
+ # Constant NOT_LOGGED_ON for EResult
46
+ NOT_LOGGED_ON = 21
47
+ # Constant PENDING for EResult
48
+ PENDING = 22
49
+ # Constant ENCRYPTION_FAILURE for EResult
50
+ ENCRYPTION_FAILURE = 23
51
+ # Constant INSUFFICIENT_PRIVILEGE for EResult
52
+ INSUFFICIENT_PRIVILEGE = 24
53
+ # Constant LIMIT_EXCEEDED for EResult
54
+ LIMIT_EXCEEDED = 25
55
+ # Constant REVOKED for EResult
56
+ REVOKED = 26
57
+ # Constant EXPIRED for EResult
58
+ EXPIRED = 27
59
+ # Constant ALREADY_REDEEMED for EResult
60
+ ALREADY_REDEEMED = 28
61
+ # Constant DUPLICATE_REQUEST for EResult
62
+ DUPLICATE_REQUEST = 29
63
+ # Constant ALREADY_OWNED for EResult
64
+ ALREADY_OWNED = 30
65
+ # Constant IP_NOT_FOUND for EResult
66
+ IP_NOT_FOUND = 31
67
+ # Constant PERSIST_FAILED for EResult
68
+ PERSIST_FAILED = 32
69
+ # Constant LOCKING_FAILED for EResult
70
+ LOCKING_FAILED = 33
71
+ # Constant LOGON_SESSION_REPLACED for EResult
72
+ LOGON_SESSION_REPLACED = 34
73
+ # Constant CONNECT_FAILED for EResult
74
+ CONNECT_FAILED = 35
75
+ # Constant HANDSHAKE_FAILED for EResult
76
+ HANDSHAKE_FAILED = 36
77
+ # Constant IO_FAILURE for EResult
78
+ IO_FAILURE = 37
79
+ # Constant REMOTE_DISCONNECT for EResult
80
+ REMOTE_DISCONNECT = 38
81
+ # Constant SHOPPING_CART_NOT_FOUND for EResult
82
+ SHOPPING_CART_NOT_FOUND = 39
83
+ # Constant BLOCKED for EResult
84
+ BLOCKED = 40
85
+ # Constant IGNORED for EResult
86
+ IGNORED = 41
87
+ # Constant NO_MATCH for EResult
88
+ NO_MATCH = 42
89
+ # Constant ACCOUNT_DISABLED for EResult
90
+ ACCOUNT_DISABLED = 43
91
+ # Constant SERVICE_READ_ONLY for EResult
92
+ SERVICE_READ_ONLY = 44
93
+ # Constant ACCOUNT_NOT_FEATURED for EResult
94
+ ACCOUNT_NOT_FEATURED = 45
95
+ # Constant ADMINISTRATOR_OK for EResult
96
+ ADMINISTRATOR_OK = 46
97
+ # Constant CONTENT_VERSION for EResult
98
+ CONTENT_VERSION = 47
99
+ # Constant TRY_ANOTHER_CM for EResult
100
+ TRY_ANOTHER_CM = 48
101
+ # Constant PASSWORD_REQUIRED_TO_KICK_SESSION for EResult
102
+ PASSWORD_REQUIRED_TO_KICK_SESSION = 49
103
+ # Constant ALREADY_LOGGED_IN_ELSEWHERE for EResult
104
+ ALREADY_LOGGED_IN_ELSEWHERE = 50
105
+ # Constant SUSPENDED for EResult
106
+ SUSPENDED = 51
107
+ # Constant CANCELLED for EResult
108
+ CANCELLED = 52
109
+ # Constant DATA_CORRUPTION for EResult
110
+ DATA_CORRUPTION = 53
111
+ # Constant DISK_FULL for EResult
112
+ DISK_FULL = 54
113
+ # Constant REMOTE_CALL_FAILED for EResult
114
+ REMOTE_CALL_FAILED = 55
115
+ # Constant PASSWORD_NOT_SET for EResult
116
+ PASSWORD_NOT_SET = 56
117
+ # Constant PASSWORD_UNSET for EResult
118
+ PASSWORD_UNSET = 56
119
+ # Constant EXTERNAL_ACCOUNT_UNLINKED for EResult
120
+ EXTERNAL_ACCOUNT_UNLINKED = 57
121
+ # Constant PSN_TICKET_INVALID for EResult
122
+ PSN_TICKET_INVALID = 58
123
+ # Constant EXTERNAL_ACCOUNT_ALREADY_LINKED for EResult
124
+ EXTERNAL_ACCOUNT_ALREADY_LINKED = 59
125
+ # Constant REMOTE_FILE_CONFLICT for EResult
126
+ REMOTE_FILE_CONFLICT = 60
127
+ # Constant ILLEGAL_PASSWORD for EResult
128
+ ILLEGAL_PASSWORD = 61
129
+ # Constant SAME_AS_PREVIOUS_VALUE for EResult
130
+ SAME_AS_PREVIOUS_VALUE = 62
131
+ # Constant ACCOUNT_LOGON_DENIED for EResult
132
+ ACCOUNT_LOGON_DENIED = 63
133
+ # Constant CANNOT_USE_OLD_PASSWORD for EResult
134
+ CANNOT_USE_OLD_PASSWORD = 64
135
+ # Constant INVALID_LOGIN_AUTH_CODE for EResult
136
+ INVALID_LOGIN_AUTH_CODE = 65
137
+ # Constant ACCOUNT_LOGON_DENIED_NO_MAIL_SENT for EResult
138
+ ACCOUNT_LOGON_DENIED_NO_MAIL_SENT = 66
139
+ # Constant ACCOUNT_LOGON_DENIED_NO_MAIL for EResult
140
+ ACCOUNT_LOGON_DENIED_NO_MAIL = 66
141
+ # Constant HARDWARE_NOT_CAPABLE_OF_IPT for EResult
142
+ HARDWARE_NOT_CAPABLE_OF_IPT = 67
143
+ # Constant IPT_INIT_ERROR for EResult
144
+ IPT_INIT_ERROR = 68
145
+ # Constant PARENTAL_CONTROL_RESTRICTED for EResult
146
+ PARENTAL_CONTROL_RESTRICTED = 69
147
+ # Constant FACEBOOK_QUERY_ERROR for EResult
148
+ FACEBOOK_QUERY_ERROR = 70
149
+ # Constant EXPIRED_LOGIN_AUTH_CODE for EResult
150
+ EXPIRED_LOGIN_AUTH_CODE = 71
151
+ # Constant IP_LOGIN_RESTRICTION_FAILED for EResult
152
+ IP_LOGIN_RESTRICTION_FAILED = 72
153
+ # Constant ACCOUNT_LOCKED for EResult
154
+ ACCOUNT_LOCKED = 73
155
+ # Constant ACCOUNT_LOCKED_DOWN for EResult
156
+ ACCOUNT_LOCKED_DOWN = 73
157
+ # Constant ACCOUNT_LOGON_DENIED_VERIFIED_EMAIL_REQUIRED for EResult
158
+ ACCOUNT_LOGON_DENIED_VERIFIED_EMAIL_REQUIRED = 74
159
+ # Constant NO_MATCHING_URL for EResult
160
+ NO_MATCHING_URL = 75
161
+ # Constant BAD_RESPONSE for EResult
162
+ BAD_RESPONSE = 76
163
+ # Constant REQUIRE_PASSWORD_RE_ENTRY for EResult
164
+ REQUIRE_PASSWORD_RE_ENTRY = 77
165
+ # Constant VALUE_OUT_OF_RANGE for EResult
166
+ VALUE_OUT_OF_RANGE = 78
167
+ # Constant UNEXPECTED_ERROR for EResult
168
+ UNEXPECTED_ERROR = 79
169
+ # Constant DISABLED for EResult
170
+ DISABLED = 80
171
+ # Constant INVALID_CEG_SUBMISSION for EResult
172
+ INVALID_CEG_SUBMISSION = 81
173
+ # Constant RESTRICTED_DEVICE for EResult
174
+ RESTRICTED_DEVICE = 82
175
+ # Constant REGION_LOCKED for EResult
176
+ REGION_LOCKED = 83
177
+ # Constant RATE_LIMIT_EXCEEDED for EResult
178
+ RATE_LIMIT_EXCEEDED = 84
179
+ # Constant ACCOUNT_LOGON_DENIED_NEED_TWO_FACTOR_CODE for EResult
180
+ ACCOUNT_LOGON_DENIED_NEED_TWO_FACTOR_CODE = 85
181
+ # Constant ACCOUNT_LOGIN_DENIED_NEED_TWO_FACTOR for EResult
182
+ ACCOUNT_LOGIN_DENIED_NEED_TWO_FACTOR = 85
183
+ # Constant ITEM_OR_ENTRY_HAS_BEEN_DELETED for EResult
184
+ ITEM_OR_ENTRY_HAS_BEEN_DELETED = 86
185
+ # Constant ITEM_DELETED for EResult
186
+ ITEM_DELETED = 86
187
+ # Constant ACCOUNT_LOGIN_DENIED_THROTTLE for EResult
188
+ ACCOUNT_LOGIN_DENIED_THROTTLE = 87
189
+ # Constant TWO_FACTOR_CODE_MISMATCH for EResult
190
+ TWO_FACTOR_CODE_MISMATCH = 88
191
+ # Constant TWO_FACTOR_ACTIVATION_CODE_MISMATCH for EResult
192
+ TWO_FACTOR_ACTIVATION_CODE_MISMATCH = 89
193
+ # Constant ACCOUNT_ASSOCIATED_TO_MULTIPLE_PLAYERS for EResult
194
+ ACCOUNT_ASSOCIATED_TO_MULTIPLE_PLAYERS = 90
195
+ # Constant ACCOUNT_ASSOCIATED_TO_MULTIPLE_PARTNERS for EResult
196
+ ACCOUNT_ASSOCIATED_TO_MULTIPLE_PARTNERS = 90
197
+ # Constant NOT_MODIFIED for EResult
198
+ NOT_MODIFIED = 91
199
+ # Constant NO_MOBILE_DEVICE_AVAILABLE for EResult
200
+ NO_MOBILE_DEVICE_AVAILABLE = 92
201
+ # Constant NO_MOBILE_DEVICE for EResult
202
+ NO_MOBILE_DEVICE = 92
203
+ # Constant TIME_IS_OUT_OF_SYNC for EResult
204
+ TIME_IS_OUT_OF_SYNC = 93
205
+ # Constant TIME_NOT_SYNCED for EResult
206
+ TIME_NOT_SYNCED = 93
207
+ # Constant SMS_CODE_FAILED for EResult
208
+ SMS_CODE_FAILED = 94
209
+ # Constant TOO_MANY_ACCOUNTS_ACCESS_THIS_RESOURCE for EResult
210
+ TOO_MANY_ACCOUNTS_ACCESS_THIS_RESOURCE = 95
211
+ # Constant ACCOUNT_LIMIT_EXCEEDED for EResult
212
+ ACCOUNT_LIMIT_EXCEEDED = 95
213
+ # Constant ACCOUNT_ACTIVITY_LIMIT_EXCEEDED for EResult
214
+ ACCOUNT_ACTIVITY_LIMIT_EXCEEDED = 96
215
+ # Constant PHONE_ACTIVITY_LIMIT_EXCEEDED for EResult
216
+ PHONE_ACTIVITY_LIMIT_EXCEEDED = 97
217
+ # Constant REFUND_TO_WALLET for EResult
218
+ REFUND_TO_WALLET = 98
219
+ # Constant EMAIL_SEND_FAILURE for EResult
220
+ EMAIL_SEND_FAILURE = 99
221
+ # Constant NOT_SETTLED for EResult
222
+ NOT_SETTLED = 100
223
+ # Constant NEED_CAPTCHA for EResult
224
+ NEED_CAPTCHA = 101
225
+ # Constant GSLT_DENIED for EResult
226
+ GSLT_DENIED = 102
227
+ # Constant GS_OWNER_DENIED for EResult
228
+ GS_OWNER_DENIED = 103
229
+ # Constant INVALID_ITEM_TYPE for EResult
230
+ INVALID_ITEM_TYPE = 104
231
+ # Constant IP_BANNED for EResult
232
+ IP_BANNED = 105
233
+ # Constant GSLT_EXPIRED for EResult
234
+ GSLT_EXPIRED = 106
235
+ end
236
+
@@ -0,0 +1,119 @@
1
+ # Class for the MsgGCHdrProtoBuf in the Steam Language.
2
+ class MsgGCHdrProtoBuf
3
+ # Allows serialization and deserialization of the class
4
+ include SteamSerializable
5
+
6
+ # Instantiate a MsgGCHdrProtoBuf object
7
+ def initialize
8
+ super([{:name=>"msg", :type=>"uint", :modifier=>"protomaskgc", :value=>0, :size=>nil, :modifier_size=>nil}, {:name=>"header_length", :type=>"int", :modifier=>nil, :value=>nil, :size=>nil, :modifier_size=>nil}, {:name=>"proto", :type=>"Gc::CMsgProtoBufHeader", :modifier=>"proto", :value=>nil, :size=>nil, :modifier_size=>"header_length"}], [])
9
+ self.msg = 0
10
+ self.proto = Gc::CMsgProtoBufHeader.new
11
+ end
12
+
13
+ # Gets the msg variable.
14
+ #
15
+ # @note defaults to 0
16
+ # @return [uint] the value of msg
17
+ def msg
18
+ @variables['msg'][:value]
19
+ end
20
+
21
+ # Sets the msg variable.
22
+ #
23
+ # @param value [uint] the new value
24
+ def msg=(value)
25
+ @variables['msg'][:value] = value
26
+ end
27
+
28
+ # Gets the header_length variable.
29
+ #
30
+ # @note defaults to
31
+ # @return [int] the value of header_length
32
+ def header_length
33
+ @variables['header_length'][:value]
34
+ end
35
+
36
+ # Sets the header_length variable.
37
+ #
38
+ # @param value [int] the new value
39
+ def header_length=(value)
40
+ @variables['header_length'][:value] = value
41
+ end
42
+
43
+ # Gets the proto variable.
44
+ #
45
+ # @note defaults to
46
+ # @return [Gc::CMsgProtoBufHeader] the value of proto
47
+ def proto
48
+ @variables['proto'][:value]
49
+ end
50
+
51
+ # Sets the proto variable.
52
+ #
53
+ # @param value [Gc::CMsgProtoBufHeader] the new value
54
+ def proto=(value)
55
+ @variables['proto'][:value] = value
56
+ end
57
+
58
+ end
59
+
60
+ # Class for the MsgGCHdr in the Steam Language.
61
+ class MsgGCHdr
62
+ # Allows serialization and deserialization of the class
63
+ include SteamSerializable
64
+
65
+ # Instantiate a MsgGCHdr object
66
+ def initialize
67
+ super([{:name=>"header_version", :type=>"ushort", :modifier=>nil, :value=>1, :size=>nil, :modifier_size=>nil}, {:name=>"target_job_id", :type=>"ulong", :modifier=>nil, :value=>18446744073709551615, :size=>nil, :modifier_size=>nil}, {:name=>"source_job_id", :type=>"ulong", :modifier=>nil, :value=>18446744073709551615, :size=>nil, :modifier_size=>nil}], [])
68
+ self.header_version = 1
69
+ self.target_job_id = 18446744073709551615
70
+ self.source_job_id = 18446744073709551615
71
+ end
72
+
73
+ # Gets the header_version variable.
74
+ #
75
+ # @note defaults to 1
76
+ # @return [ushort] the value of header_version
77
+ def header_version
78
+ @variables['header_version'][:value]
79
+ end
80
+
81
+ # Sets the header_version variable.
82
+ #
83
+ # @param value [ushort] the new value
84
+ def header_version=(value)
85
+ @variables['header_version'][:value] = value
86
+ end
87
+
88
+ # Gets the target_job_id variable.
89
+ #
90
+ # @note defaults to 18446744073709551615
91
+ # @return [ulong] the value of target_job_id
92
+ def target_job_id
93
+ @variables['target_job_id'][:value]
94
+ end
95
+
96
+ # Sets the target_job_id variable.
97
+ #
98
+ # @param value [ulong] the new value
99
+ def target_job_id=(value)
100
+ @variables['target_job_id'][:value] = value
101
+ end
102
+
103
+ # Gets the source_job_id variable.
104
+ #
105
+ # @note defaults to 18446744073709551615
106
+ # @return [ulong] the value of source_job_id
107
+ def source_job_id
108
+ @variables['source_job_id'][:value]
109
+ end
110
+
111
+ # Sets the source_job_id variable.
112
+ #
113
+ # @param value [ulong] the new value
114
+ def source_job_id=(value)
115
+ @variables['source_job_id'][:value] = value
116
+ end
117
+
118
+ end
119
+
@@ -0,0 +1,261 @@
1
+ # Class for the MsgHdr in the Steam Language.
2
+ class MsgHdr
3
+ # Allows serialization and deserialization of the class
4
+ include SteamSerializable
5
+
6
+ # Instantiate a MsgHdr object
7
+ def initialize
8
+ super([{:name=>"msg", :type=>"EMsg", :modifier=>nil, :value=>"EMsg::INVALID", :size=>nil, :modifier_size=>nil}, {:name=>"target_job_id", :type=>"ulong", :modifier=>nil, :value=>18446744073709551615, :size=>nil, :modifier_size=>nil}, {:name=>"source_job_id", :type=>"ulong", :modifier=>nil, :value=>18446744073709551615, :size=>nil, :modifier_size=>nil}], [])
9
+ self.msg = EMsg::INVALID
10
+ self.target_job_id = 18446744073709551615
11
+ self.source_job_id = 18446744073709551615
12
+ end
13
+
14
+ # Gets the msg variable.
15
+ #
16
+ # @note defaults to EMsg::INVALID
17
+ # @return [EMsg] the value of msg
18
+ def msg
19
+ @variables['msg'][:value]
20
+ end
21
+
22
+ # Sets the msg variable.
23
+ #
24
+ # @param value [EMsg] the new value
25
+ def msg=(value)
26
+ @variables['msg'][:value] = value
27
+ end
28
+
29
+ # Gets the target_job_id variable.
30
+ #
31
+ # @note defaults to 18446744073709551615
32
+ # @return [ulong] the value of target_job_id
33
+ def target_job_id
34
+ @variables['target_job_id'][:value]
35
+ end
36
+
37
+ # Sets the target_job_id variable.
38
+ #
39
+ # @param value [ulong] the new value
40
+ def target_job_id=(value)
41
+ @variables['target_job_id'][:value] = value
42
+ end
43
+
44
+ # Gets the source_job_id variable.
45
+ #
46
+ # @note defaults to 18446744073709551615
47
+ # @return [ulong] the value of source_job_id
48
+ def source_job_id
49
+ @variables['source_job_id'][:value]
50
+ end
51
+
52
+ # Sets the source_job_id variable.
53
+ #
54
+ # @param value [ulong] the new value
55
+ def source_job_id=(value)
56
+ @variables['source_job_id'][:value] = value
57
+ end
58
+
59
+ end
60
+
61
+ # Class for the ExtendedClientMsgHdr in the Steam Language.
62
+ class ExtendedClientMsgHdr
63
+ # Allows serialization and deserialization of the class
64
+ include SteamSerializable
65
+
66
+ # Instantiate a ExtendedClientMsgHdr object
67
+ def initialize
68
+ super([{:name=>"msg", :type=>"EMsg", :modifier=>nil, :value=>"EMsg::INVALID", :size=>nil, :modifier_size=>nil}, {:name=>"header_size", :type=>"byte", :modifier=>nil, :value=>36, :size=>nil, :modifier_size=>nil}, {:name=>"header_version", :type=>"ushort", :modifier=>nil, :value=>2, :size=>nil, :modifier_size=>nil}, {:name=>"target_job_id", :type=>"ulong", :modifier=>nil, :value=>18446744073709551615, :size=>nil, :modifier_size=>nil}, {:name=>"source_job_id", :type=>"ulong", :modifier=>nil, :value=>18446744073709551615, :size=>nil, :modifier_size=>nil}, {:name=>"header_canary", :type=>"byte", :modifier=>nil, :value=>239, :size=>nil, :modifier_size=>nil}, {:name=>"steam_id", :type=>"ulong", :modifier=>"steamidmarshal", :value=>nil, :size=>nil, :modifier_size=>nil}, {:name=>"session_id", :type=>"int", :modifier=>nil, :value=>nil, :size=>nil, :modifier_size=>nil}], [])
69
+ self.msg = EMsg::INVALID
70
+ self.header_size = 36
71
+ self.header_version = 2
72
+ self.target_job_id = 18446744073709551615
73
+ self.source_job_id = 18446744073709551615
74
+ self.header_canary = 239
75
+ end
76
+
77
+ # Gets the msg variable.
78
+ #
79
+ # @note defaults to EMsg::INVALID
80
+ # @return [EMsg] the value of msg
81
+ def msg
82
+ @variables['msg'][:value]
83
+ end
84
+
85
+ # Sets the msg variable.
86
+ #
87
+ # @param value [EMsg] the new value
88
+ def msg=(value)
89
+ @variables['msg'][:value] = value
90
+ end
91
+
92
+ # Gets the header_size variable.
93
+ #
94
+ # @note defaults to 36
95
+ # @return [byte] the value of header_size
96
+ def header_size
97
+ @variables['header_size'][:value]
98
+ end
99
+
100
+ # Sets the header_size variable.
101
+ #
102
+ # @param value [byte] the new value
103
+ def header_size=(value)
104
+ @variables['header_size'][:value] = value
105
+ end
106
+
107
+ # Gets the header_version variable.
108
+ #
109
+ # @note defaults to 2
110
+ # @return [ushort] the value of header_version
111
+ def header_version
112
+ @variables['header_version'][:value]
113
+ end
114
+
115
+ # Sets the header_version variable.
116
+ #
117
+ # @param value [ushort] the new value
118
+ def header_version=(value)
119
+ @variables['header_version'][:value] = value
120
+ end
121
+
122
+ # Gets the target_job_id variable.
123
+ #
124
+ # @note defaults to 18446744073709551615
125
+ # @return [ulong] the value of target_job_id
126
+ def target_job_id
127
+ @variables['target_job_id'][:value]
128
+ end
129
+
130
+ # Sets the target_job_id variable.
131
+ #
132
+ # @param value [ulong] the new value
133
+ def target_job_id=(value)
134
+ @variables['target_job_id'][:value] = value
135
+ end
136
+
137
+ # Gets the source_job_id variable.
138
+ #
139
+ # @note defaults to 18446744073709551615
140
+ # @return [ulong] the value of source_job_id
141
+ def source_job_id
142
+ @variables['source_job_id'][:value]
143
+ end
144
+
145
+ # Sets the source_job_id variable.
146
+ #
147
+ # @param value [ulong] the new value
148
+ def source_job_id=(value)
149
+ @variables['source_job_id'][:value] = value
150
+ end
151
+
152
+ # Gets the header_canary variable.
153
+ #
154
+ # @note defaults to 239
155
+ # @return [byte] the value of header_canary
156
+ def header_canary
157
+ @variables['header_canary'][:value]
158
+ end
159
+
160
+ # Sets the header_canary variable.
161
+ #
162
+ # @param value [byte] the new value
163
+ def header_canary=(value)
164
+ @variables['header_canary'][:value] = value
165
+ end
166
+
167
+ # Gets the steam_id variable.
168
+ #
169
+ # @note defaults to
170
+ # @return [ulong] the value of steam_id
171
+ def steam_id
172
+ @variables['steam_id'][:value]
173
+ end
174
+
175
+ # Sets the steam_id variable.
176
+ #
177
+ # @param value [ulong] the new value
178
+ def steam_id=(value)
179
+ @variables['steam_id'][:value] = value
180
+ end
181
+
182
+ # Gets the session_id variable.
183
+ #
184
+ # @note defaults to
185
+ # @return [int] the value of session_id
186
+ def session_id
187
+ @variables['session_id'][:value]
188
+ end
189
+
190
+ # Sets the session_id variable.
191
+ #
192
+ # @param value [int] the new value
193
+ def session_id=(value)
194
+ @variables['session_id'][:value] = value
195
+ end
196
+
197
+ end
198
+
199
+ # Class for the MsgHdrProtoBuf in the Steam Language.
200
+ class MsgHdrProtoBuf
201
+ # Allows serialization and deserialization of the class
202
+ include SteamSerializable
203
+
204
+ # Instantiate a MsgHdrProtoBuf object
205
+ def initialize
206
+ super([{:name=>"msg", :type=>"EMsg", :modifier=>"protomask", :value=>"EMsg::INVALID", :size=>nil, :modifier_size=>nil}, {:name=>"header_length", :type=>"int", :modifier=>nil, :value=>nil, :size=>nil, :modifier_size=>nil}, {:name=>"proto", :type=>"Steamclient::CMsgProtoBufHeader", :modifier=>"proto", :value=>nil, :size=>nil, :modifier_size=>"header_length"}], [])
207
+ self.msg = EMsg::INVALID
208
+ self.proto = Steamclient::CMsgProtoBufHeader.new
209
+ end
210
+
211
+ # Gets the msg variable.
212
+ #
213
+ # @note defaults to EMsg::INVALID
214
+ # @return [EMsg] the value of msg
215
+ def msg
216
+ @variables['msg'][:value]
217
+ end
218
+
219
+ # Sets the msg variable.
220
+ #
221
+ # @param value [EMsg] the new value
222
+ def msg=(value)
223
+ @variables['msg'][:value] = value
224
+ end
225
+
226
+ # Gets the header_length variable.
227
+ #
228
+ # @note defaults to
229
+ # @return [int] the value of header_length
230
+ def header_length
231
+ @variables['header_length'][:value]
232
+ end
233
+
234
+ # Sets the header_length variable.
235
+ #
236
+ # @param value [int] the new value
237
+ def header_length=(value)
238
+ @variables['header_length'][:value] = value
239
+ end
240
+
241
+ # Gets the proto variable.
242
+ #
243
+ # @note defaults to
244
+ # @return [Steamclient::CMsgProtoBufHeader] the value of proto
245
+ def proto
246
+ @variables['proto'][:value]
247
+ end
248
+
249
+ # Sets the proto variable.
250
+ #
251
+ # @param value [Steamclient::CMsgProtoBufHeader] the new value
252
+ def proto=(value)
253
+ @variables['proto'][:value] = value
254
+ end
255
+
256
+ end
257
+
258
+ require_relative 'emsg'
259
+ require_relative 'eresult'
260
+ require_relative 'enums'
261
+ require_relative 'netheader'