From 85d26e79a4d12d010efda0422576216985e0e7d2 Mon Sep 17 00:00:00 2001 From: lotodore Date: Fri, 12 Nov 2010 12:13:56 +0000 Subject: [PATCH] Adding new java based test cases. --- tests/common.scm | 280 - tests/helper.scm | 149 - tests/pkth.scm | 747 -- tests/pkth_config.scm | 40 - tests/pkth_tests.scm | 203 - tests/sock.scm | 174 - tests/src/de/rtner/misc/BinTools.java | 120 + .../rtner/security/auth/spi/MacBasedPRF.java | 111 + .../de/rtner/security/auth/spi/PBKDF2.java | 98 + .../rtner/security/auth/spi/PBKDF2Engine.java | 351 + .../security/auth/spi/PBKDF2Formatter.java | 54 + .../security/auth/spi/PBKDF2HexFormatter.java | 67 + .../security/auth/spi/PBKDF2Parameters.java | 165 + tests/src/de/rtner/security/auth/spi/PRF.java | 60 + .../pokerth_protocol/AfkWarningMessage.java | 95 + .../AfterHandShowCardsMessage.java | 94 + .../AllInShowCardsMessage.java | 121 + .../src/pokerth_protocol/AnnounceMessage.java | 223 + .../AskKickDeniedMessage.java | 177 + .../AskKickPlayerMessage.java | 111 + .../pokerth_protocol/AuthClientResponse.java | 60 + tests/src/pokerth_protocol/AuthMessage.java | 164 + .../pokerth_protocol/AuthServerChallenge.java | 60 + .../AuthServerVerification.java | 60 + .../pokerth_protocol/AuthenticatedLogin.java | 81 + tests/src/pokerth_protocol/AvatarData.java | 60 + tests/src/pokerth_protocol/AvatarEnd.java | 35 + tests/src/pokerth_protocol/AvatarHash.java | 61 + tests/src/pokerth_protocol/AvatarHeader.java | 77 + .../pokerth_protocol/AvatarReplyMessage.java | 257 + .../AvatarRequestMessage.java | 111 + tests/src/pokerth_protocol/Card.java | 58 + tests/src/pokerth_protocol/ChatMessage.java | 267 + .../pokerth_protocol/ChatRequestMessage.java | 195 + .../pokerth_protocol/ChatRequestTypeGame.java | 52 + .../ChatRequestTypeLobby.java | 35 + tests/src/pokerth_protocol/ChatTypeBot.java | 35 + .../pokerth_protocol/ChatTypeBroadcast.java | 35 + tests/src/pokerth_protocol/ChatTypeGame.java | 69 + tests/src/pokerth_protocol/ChatTypeLobby.java | 52 + .../DealFlopCardsMessage.java | 145 + .../DealRiverCardMessage.java | 111 + .../pokerth_protocol/DealTurnCardMessage.java | 111 + tests/src/pokerth_protocol/DialogMessage.java | 104 + .../src/pokerth_protocol/EncryptedCards.java | 60 + .../EndKickPetitionMessage.java | 243 + .../pokerth_protocol/EndOfGameMessage.java | 111 + .../pokerth_protocol/EndOfHandHideCards.java | 102 + .../pokerth_protocol/EndOfHandMessage.java | 185 + .../pokerth_protocol/EndOfHandShowCards.java | 62 + tests/src/pokerth_protocol/ErrorMessage.java | 163 + .../pokerth_protocol/GameAdminChanged.java | 52 + .../GameListAdminChanged.java | 52 + .../src/pokerth_protocol/GameListMessage.java | 299 + tests/src/pokerth_protocol/GameListNew.java | 131 + .../GameListPlayerJoined.java | 52 + .../pokerth_protocol/GameListPlayerLeft.java | 52 + .../src/pokerth_protocol/GameListUpdate.java | 52 + .../pokerth_protocol/GamePlayerJoined.java | 70 + .../src/pokerth_protocol/GamePlayerLeft.java | 114 + .../pokerth_protocol/GamePlayerMessage.java | 257 + .../pokerth_protocol/GameStartMessage.java | 138 + tests/src/pokerth_protocol/GuestLogin.java | 62 + tests/src/pokerth_protocol/Guid.java | 58 + .../pokerth_protocol/HandStartMessage.java | 210 + tests/src/pokerth_protocol/Id.java | 58 + .../src/pokerth_protocol/InitAckMessage.java | 132 + tests/src/pokerth_protocol/InitMessage.java | 237 + .../pokerth_protocol/InviteNotifyMessage.java | 128 + .../InvitePlayerToGameMessage.java | 111 + .../pokerth_protocol/JoinExistingGame.java | 52 + tests/src/pokerth_protocol/JoinGameAck.java | 70 + .../src/pokerth_protocol/JoinGameFailed.java | 109 + .../JoinGameReplyMessage.java | 185 + .../JoinGameRequestMessage.java | 199 + tests/src/pokerth_protocol/JoinNewGame.java | 52 + .../KickPetitionUpdateMessage.java | 186 + .../KickPlayerRequestMessage.java | 111 + .../LeaveGameRequestMessage.java | 94 + .../MyActionRequestMessage.java | 170 + tests/src/pokerth_protocol/NetAvatarType.java | 62 + tests/src/pokerth_protocol/NetGameInfo.java | 497 ++ tests/src/pokerth_protocol/NetGameMode.java | 62 + tests/src/pokerth_protocol/NetGameState.java | 68 + .../src/pokerth_protocol/NetPlayerAction.java | 70 + tests/src/pokerth_protocol/NonZeroId.java | 58 + .../pokerth_protocol/POKERTH_PROTOCOL.java | 20 + tests/src/pokerth_protocol/PlainCards.java | 69 + tests/src/pokerth_protocol/PlayerAllIn.java | 86 + .../src/pokerth_protocol/PlayerInfoData.java | 199 + .../PlayerInfoReplyMessage.java | 185 + .../PlayerInfoRequestMessage.java | 94 + .../pokerth_protocol/PlayerInfoRights.java | 62 + .../pokerth_protocol/PlayerListMessage.java | 154 + tests/src/pokerth_protocol/PlayerResult.java | 177 + .../PlayersActionDoneMessage.java | 245 + .../pokerth_protocol/PlayersTurnMessage.java | 128 + .../src/pokerth_protocol/PokerTHMessage.java | 6459 +++++++++++++++++ .../pokerth_protocol/RejectGameInvReason.java | 60 + .../RejectGameInvitationMessage.java | 111 + .../RejectInvNotifyMessage.java | 128 + .../src/pokerth_protocol/RemovedFromGame.java | 103 + .../pokerth_protocol/ResetTimeoutMessage.java | 77 + .../ShowMyCardsRequestMessage.java | 77 + .../StartEventAckMessage.java | 94 + .../pokerth_protocol/StartEventMessage.java | 112 + .../StartKickPetitionMessage.java | 195 + .../src/pokerth_protocol/StatisticsData.java | 111 + .../pokerth_protocol/StatisticsMessage.java | 104 + .../SubscriptionRequestMessage.java | 137 + .../TimeoutWarningMessage.java | 155 + .../UnauthenticatedLogin.java | 83 + tests/src/pokerth_protocol/UnknownAvatar.java | 35 + .../pokerth_protocol/UnknownPlayerInfo.java | 35 + tests/src/pokerth_protocol/Version.java | 85 + tests/src/pokerth_protocol/VoteKickAck.java | 35 + .../src/pokerth_protocol/VoteKickDenied.java | 95 + .../VoteKickReplyMessage.java | 202 + .../VoteKickRequestMessage.java | 129 + .../YourActionRejectedMessage.java | 215 + tests/src/pokerth_test/AllTests.java | 39 + tests/src/pokerth_test/AuthLoginTest.java | 111 + tests/src/pokerth_test/Base64Coder.java | 227 + tests/src/pokerth_test/CreateGameTest.java | 115 + tests/src/pokerth_test/GuestLoginTest.java | 37 + tests/src/pokerth_test/ScramSha1.java | 94 + tests/src/pokerth_test/TestBase.java | 126 + tests/test.scm | 87 - tests/timer.scm | 59 - 129 files changed, 20383 insertions(+), 1739 deletions(-) delete mode 100644 tests/common.scm delete mode 100644 tests/helper.scm delete mode 100644 tests/pkth.scm delete mode 100644 tests/pkth_config.scm delete mode 100644 tests/pkth_tests.scm delete mode 100644 tests/sock.scm create mode 100644 tests/src/de/rtner/misc/BinTools.java create mode 100644 tests/src/de/rtner/security/auth/spi/MacBasedPRF.java create mode 100644 tests/src/de/rtner/security/auth/spi/PBKDF2.java create mode 100644 tests/src/de/rtner/security/auth/spi/PBKDF2Engine.java create mode 100644 tests/src/de/rtner/security/auth/spi/PBKDF2Formatter.java create mode 100644 tests/src/de/rtner/security/auth/spi/PBKDF2HexFormatter.java create mode 100644 tests/src/de/rtner/security/auth/spi/PBKDF2Parameters.java create mode 100644 tests/src/de/rtner/security/auth/spi/PRF.java create mode 100644 tests/src/pokerth_protocol/AfkWarningMessage.java create mode 100644 tests/src/pokerth_protocol/AfterHandShowCardsMessage.java create mode 100644 tests/src/pokerth_protocol/AllInShowCardsMessage.java create mode 100644 tests/src/pokerth_protocol/AnnounceMessage.java create mode 100644 tests/src/pokerth_protocol/AskKickDeniedMessage.java create mode 100644 tests/src/pokerth_protocol/AskKickPlayerMessage.java create mode 100644 tests/src/pokerth_protocol/AuthClientResponse.java create mode 100644 tests/src/pokerth_protocol/AuthMessage.java create mode 100644 tests/src/pokerth_protocol/AuthServerChallenge.java create mode 100644 tests/src/pokerth_protocol/AuthServerVerification.java create mode 100644 tests/src/pokerth_protocol/AuthenticatedLogin.java create mode 100644 tests/src/pokerth_protocol/AvatarData.java create mode 100644 tests/src/pokerth_protocol/AvatarEnd.java create mode 100644 tests/src/pokerth_protocol/AvatarHash.java create mode 100644 tests/src/pokerth_protocol/AvatarHeader.java create mode 100644 tests/src/pokerth_protocol/AvatarReplyMessage.java create mode 100644 tests/src/pokerth_protocol/AvatarRequestMessage.java create mode 100644 tests/src/pokerth_protocol/Card.java create mode 100644 tests/src/pokerth_protocol/ChatMessage.java create mode 100644 tests/src/pokerth_protocol/ChatRequestMessage.java create mode 100644 tests/src/pokerth_protocol/ChatRequestTypeGame.java create mode 100644 tests/src/pokerth_protocol/ChatRequestTypeLobby.java create mode 100644 tests/src/pokerth_protocol/ChatTypeBot.java create mode 100644 tests/src/pokerth_protocol/ChatTypeBroadcast.java create mode 100644 tests/src/pokerth_protocol/ChatTypeGame.java create mode 100644 tests/src/pokerth_protocol/ChatTypeLobby.java create mode 100644 tests/src/pokerth_protocol/DealFlopCardsMessage.java create mode 100644 tests/src/pokerth_protocol/DealRiverCardMessage.java create mode 100644 tests/src/pokerth_protocol/DealTurnCardMessage.java create mode 100644 tests/src/pokerth_protocol/DialogMessage.java create mode 100644 tests/src/pokerth_protocol/EncryptedCards.java create mode 100644 tests/src/pokerth_protocol/EndKickPetitionMessage.java create mode 100644 tests/src/pokerth_protocol/EndOfGameMessage.java create mode 100644 tests/src/pokerth_protocol/EndOfHandHideCards.java create mode 100644 tests/src/pokerth_protocol/EndOfHandMessage.java create mode 100644 tests/src/pokerth_protocol/EndOfHandShowCards.java create mode 100644 tests/src/pokerth_protocol/ErrorMessage.java create mode 100644 tests/src/pokerth_protocol/GameAdminChanged.java create mode 100644 tests/src/pokerth_protocol/GameListAdminChanged.java create mode 100644 tests/src/pokerth_protocol/GameListMessage.java create mode 100644 tests/src/pokerth_protocol/GameListNew.java create mode 100644 tests/src/pokerth_protocol/GameListPlayerJoined.java create mode 100644 tests/src/pokerth_protocol/GameListPlayerLeft.java create mode 100644 tests/src/pokerth_protocol/GameListUpdate.java create mode 100644 tests/src/pokerth_protocol/GamePlayerJoined.java create mode 100644 tests/src/pokerth_protocol/GamePlayerLeft.java create mode 100644 tests/src/pokerth_protocol/GamePlayerMessage.java create mode 100644 tests/src/pokerth_protocol/GameStartMessage.java create mode 100644 tests/src/pokerth_protocol/GuestLogin.java create mode 100644 tests/src/pokerth_protocol/Guid.java create mode 100644 tests/src/pokerth_protocol/HandStartMessage.java create mode 100644 tests/src/pokerth_protocol/Id.java create mode 100644 tests/src/pokerth_protocol/InitAckMessage.java create mode 100644 tests/src/pokerth_protocol/InitMessage.java create mode 100644 tests/src/pokerth_protocol/InviteNotifyMessage.java create mode 100644 tests/src/pokerth_protocol/InvitePlayerToGameMessage.java create mode 100644 tests/src/pokerth_protocol/JoinExistingGame.java create mode 100644 tests/src/pokerth_protocol/JoinGameAck.java create mode 100644 tests/src/pokerth_protocol/JoinGameFailed.java create mode 100644 tests/src/pokerth_protocol/JoinGameReplyMessage.java create mode 100644 tests/src/pokerth_protocol/JoinGameRequestMessage.java create mode 100644 tests/src/pokerth_protocol/JoinNewGame.java create mode 100644 tests/src/pokerth_protocol/KickPetitionUpdateMessage.java create mode 100644 tests/src/pokerth_protocol/KickPlayerRequestMessage.java create mode 100644 tests/src/pokerth_protocol/LeaveGameRequestMessage.java create mode 100644 tests/src/pokerth_protocol/MyActionRequestMessage.java create mode 100644 tests/src/pokerth_protocol/NetAvatarType.java create mode 100644 tests/src/pokerth_protocol/NetGameInfo.java create mode 100644 tests/src/pokerth_protocol/NetGameMode.java create mode 100644 tests/src/pokerth_protocol/NetGameState.java create mode 100644 tests/src/pokerth_protocol/NetPlayerAction.java create mode 100644 tests/src/pokerth_protocol/NonZeroId.java create mode 100644 tests/src/pokerth_protocol/POKERTH_PROTOCOL.java create mode 100644 tests/src/pokerth_protocol/PlainCards.java create mode 100644 tests/src/pokerth_protocol/PlayerAllIn.java create mode 100644 tests/src/pokerth_protocol/PlayerInfoData.java create mode 100644 tests/src/pokerth_protocol/PlayerInfoReplyMessage.java create mode 100644 tests/src/pokerth_protocol/PlayerInfoRequestMessage.java create mode 100644 tests/src/pokerth_protocol/PlayerInfoRights.java create mode 100644 tests/src/pokerth_protocol/PlayerListMessage.java create mode 100644 tests/src/pokerth_protocol/PlayerResult.java create mode 100644 tests/src/pokerth_protocol/PlayersActionDoneMessage.java create mode 100644 tests/src/pokerth_protocol/PlayersTurnMessage.java create mode 100644 tests/src/pokerth_protocol/PokerTHMessage.java create mode 100644 tests/src/pokerth_protocol/RejectGameInvReason.java create mode 100644 tests/src/pokerth_protocol/RejectGameInvitationMessage.java create mode 100644 tests/src/pokerth_protocol/RejectInvNotifyMessage.java create mode 100644 tests/src/pokerth_protocol/RemovedFromGame.java create mode 100644 tests/src/pokerth_protocol/ResetTimeoutMessage.java create mode 100644 tests/src/pokerth_protocol/ShowMyCardsRequestMessage.java create mode 100644 tests/src/pokerth_protocol/StartEventAckMessage.java create mode 100644 tests/src/pokerth_protocol/StartEventMessage.java create mode 100644 tests/src/pokerth_protocol/StartKickPetitionMessage.java create mode 100644 tests/src/pokerth_protocol/StatisticsData.java create mode 100644 tests/src/pokerth_protocol/StatisticsMessage.java create mode 100644 tests/src/pokerth_protocol/SubscriptionRequestMessage.java create mode 100644 tests/src/pokerth_protocol/TimeoutWarningMessage.java create mode 100644 tests/src/pokerth_protocol/UnauthenticatedLogin.java create mode 100644 tests/src/pokerth_protocol/UnknownAvatar.java create mode 100644 tests/src/pokerth_protocol/UnknownPlayerInfo.java create mode 100644 tests/src/pokerth_protocol/Version.java create mode 100644 tests/src/pokerth_protocol/VoteKickAck.java create mode 100644 tests/src/pokerth_protocol/VoteKickDenied.java create mode 100644 tests/src/pokerth_protocol/VoteKickReplyMessage.java create mode 100644 tests/src/pokerth_protocol/VoteKickRequestMessage.java create mode 100644 tests/src/pokerth_protocol/YourActionRejectedMessage.java create mode 100644 tests/src/pokerth_test/AllTests.java create mode 100644 tests/src/pokerth_test/AuthLoginTest.java create mode 100644 tests/src/pokerth_test/Base64Coder.java create mode 100644 tests/src/pokerth_test/CreateGameTest.java create mode 100644 tests/src/pokerth_test/GuestLoginTest.java create mode 100644 tests/src/pokerth_test/ScramSha1.java create mode 100644 tests/src/pokerth_test/TestBase.java delete mode 100644 tests/test.scm delete mode 100644 tests/timer.scm diff --git a/tests/common.scm b/tests/common.scm deleted file mode 100644 index 88945ac5..00000000 --- a/tests/common.scm +++ /dev/null @@ -1,280 +0,0 @@ -;;; -;;; Copyright (C) 2004, 2005 M. Tuexen tuexen@fh-muenster.de -;;; -;;; All rights reserved. -;;; -;;; Redistribution and use in source and binary forms, with or -;;; without modification, are permitted provided that the -;;; following conditions are met: -;;; 1. Redistributions of source code must retain the above -;;; copyright notice, this list of conditions and the -;;; following disclaimer. -;;; 2. Redistributions in binary form must reproduce the -;;; above copyright notice, this list of conditions and -;;; the following disclaimer in the documentation and/or -;;; other materials provided with the distribution. -;;; 3. Neither the name of the project nor the names of -;;; its contributors may be used to endorse or promote -;;; products derived from this software without specific -;;; prior written permission. -;;; -;;; THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS -;;; ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -;;; BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -;;; MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -;;; DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS -;;; BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -;;; EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -;;; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -;;; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -;;; HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -;;; IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE -;;; USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY -;;; OF SUCH DAMAGE. - -;;; $Id: common.scm,v 1.6 2007/10/15 17:11:29 lmay Exp $ - -;;; Load the SCTP API needed. -(use-modules (net sctp)) - -;;; Just have a convenient way of simple looping. -(use-modules (ice-9 syncase)) -(define-syntax dotimes - (syntax-rules () - ((_ (var n res) . body) - (do ((limit n) - (var 0 (+ var 1))) - ((>= var limit) res) - . body)) - ((_ (var n) . body) - (do ((limit n) - (var 0 (+ var 1))) - ((>= var limit)) - . body)))) - -;;; The following functions implement modulo arithmetic. -(define 2^8 (expt 2 8)) -(define 2^16 (expt 2 16)) -(define 2^24 (expt 2 24)) -(define 2^32 (expt 2 32)) - -(define 2^8-1 (1- 2^8)) -(define 2^16-1 (1- 2^16)) -(define 2^24-1 (1- 2^24)) -(define 2^32-1 (1- 2^32)) - -(define (+mod2^8 x y) - (modulo (+ x y) 2^8)) -(define (-mod2^8 x y) - (modulo (- x y) 2^8)) -(define (*mod2^8 x y) - (modulo (* x y) 2^8)) - -(define (+mod2^16 x y) - (modulo (+ x y) 2^16)) -(define (-mod2^16 x y) - (modulo (- x y) 2^16)) -(define (*mod2^16 x y) - (modulo (* x y) 2^16)) - -(define (+mod2^24 x y) - (modulo (+ x y) 2^24)) -(define (-mod2^24 x y) - (modulo (- x y) 2^24)) -(define (*mod2^24 x y) - (modulo (* x y) 2^24)) - -(define (+mod2^32 x y) - (modulo (+ x y) 2^32)) -(define (-mod2^32 x y) - (modulo (- x y) 2^32)) -(define (*mod2^32 x y) - (modulo (* x y) 2^32)) - -;;; The following functions convert unsigned integers into -;;; a list of bytes in network byte order. - -(define (uint8->bytes n) - (if (and (exact? n) (integer? n) (<= 0 n 2^8-1)) - (list n) - (error "Argument not a uint8" n))) - -;;;(uint8->bytes 1) -;;;(uint8->bytes -1) -;;;(uint8->bytes 2^8) -;;;(uint8->bytes 2.0) - -(define (uint16->bytes n) - (if (and (exact? n) (integer? n) (<= 0 n 2^16-1)) - (list (quotient n 2^8) - (remainder n 2^8)) - (error "Argument not a uint16" n))) - -;;;(uint16->bytes 1) -;;;(uint16->bytes 2^8) -;;;(uint16->bytes 2^16) -;;;(uint16->bytes 2^16-1) - -(define (uint24->bytes n) - (if (and (exact? n) (integer? n) (<= 0 n 2^24-1)) - (list (quotient n 2^16) - (quotient (remainder n 2^16) 2^8) - (remainder n 2^8)) - (error "Argument not a uint24", n))) - -;;;(uint24->bytes 1) -;;;(uint24->bytes 2^8) -;;;(uint24->bytes 2^16) -;;;(uint24->bytes 2^24-1) - -(define (uint32->bytes n) - (if (and (exact? n) (integer? n) (<= 0 n 2^32-1)) - (list (quotient n 2^24) - (quotient (remainder n 2^24) 2^16) - (quotient (remainder n 2^16) 2^8) - (remainder n 2^8)) - (error "Argument not a uint32", n))) - -;;;(uint32->bytes 1) -;;;(uint32->bytes 2^8) -;;;(uint32->bytes 2^16) -;;;(uint32->bytes 2^24) -;;;(uint32->bytes 2^32-1) - -(define uint8->big-endian-bytes uint8->bytes) -(define uint16->big-endian-bytes uint16->bytes) -(define uint24->big-endian-bytes uint24->bytes) -(define uint32->big-endian-bytes uint32->bytes) - -(define (uint8->little-endian-bytes n) - (reverse (uint8->bytes n))) - -(define (uint16->little-endian-bytes n) - (reverse (uint16->bytes n))) - -(define (uint24->little-endian-bytes n) - (reverse (uint24->bytes n))) - -(define (uint32->little-endian-bytes n) - (reverse (uint32->bytes n))) - -;;;(uint32->little-endian-bytes 1024) - - -;;; The following functions converts the first bytes of the argument -;;; to an unsigned integer in host byte order. - -(define (bytes->uint8 l) - (car l)) - -;;;(bytes->uint8 (uint8->bytes 56)) - -(define (bytes->uint16 l) - (+ (* 2^8 (car l)) - (cadr l))) - -;;;(bytes->uint16 (uint16->bytes 12345)) - -(define (bytes->uint24 l) - (+ (* 2^16 (car l)) - (* 2^8 (cadr l)) - (caddr l))) - -;;;(bytes->uint24 (uint24->bytes 12345567)) - -(define (bytes->uint32 l) - (+ (* 2^24 (car l)) - (* 2^16 (cadr l)) - (* 2^8 (caddr l)) - (cadddr l))) - -;;;(bytes->uint32 (uint32->bytes 2^32-1)) - -(define (list-head l n) - (list-head-1 l n (list))) - -(define (list-head-1 l n r) - (if (<= n 0) - (reverse r) - (list-head-1 (cdr l) (- n 1) (cons (car l) r)))) -;;; (list-head (list 1 2 3) 4) - -(define big-endian-bytes->uint8 bytes->uint8) -(define big-endian-bytes->uint16 bytes->uint16) -(define big-endian-bytes->uint24 bytes->uint24) -(define big-endian-bytes->uint32 bytes->uint32) - -(define (little-endian-bytes->uint8 l) - (bytes->uint8 (reverse (list-head l 1)))) - -(define (little-endian-bytes->uint16 l) - (bytes->uint16 (reverse (list-head l 2)))) - -(define (little-endian-bytes->uint24 l) - (bytes->uint24 (reverse (list-head l 3)))) - -(define (little-endian-bytes->uint32 l) - (bytes->uint32 (reverse (list-head l 4)))) -;;;(little-endian-bytes->uint32 (uint32->little-endian-bytes 123456)) - -;;; This function generates a list of bytes representing a string. - -(define (string->bytes s) - (map char->integer (string->list s))) - -;;;(string->bytes "Hello") - -;;; Convert a list of bytes to a string which can be used by the send call - -(define (bytes->string l) - (list->string (map integer->char l))) - -;;; (bytes->string '(65 65 65 0 65)) - -;;; This function generates a list of random bytes of a given length - -(define (random-bytes n) - (random-bytes-1 n (list))) - -;;; This is the tail-recursive version - -(define (random-bytes-1 n l) - (if (<= n 0) - l - (random-bytes-1 (- n 1) (cons (random 2^8) l)))) - -;;; (random-bytes 10000) - -(define (zero-bytes n) - (zero-bytes-1 n (list))) - -(define (zero-bytes-1 n l) - (if (<= n 0) - l - (zero-bytes-1 (- n 1) (cons 0 l)))) - -;;;(length (zero-bytes 3400)) -;;;(zero-bytes 0) - -(define (remove pred lst) - (if (null? lst) - (list) - (if (pred (car lst)) - (remove pred (cdr lst)) - (cons (car lst) (remove pred (cdr lst)))))) -;;; (remove positive? (list 1 -32 3 -9)) -;;; (remove positive? (list -9)) -;;; (remove positive? (list 1 2 3)) - -(define (filter pred lst) - (if (null? lst) - (list) - (if (pred (car lst)) - (cons (car lst) (filter pred (cdr lst))) - (filter pred (cdr lst))))) -;;; (filter positive? (list 1 -32 3 -9)) -;;; (filter positive? (list -9)) -;;; (filter positive? (list 1 2 3)) - - diff --git a/tests/helper.scm b/tests/helper.scm deleted file mode 100644 index d32a66dd..00000000 --- a/tests/helper.scm +++ /dev/null @@ -1,149 +0,0 @@ -;;; -;;; Copyright (C) 2007 Lothar May l-may@gmx.de -;;; -;;; All rights reserved. -;;; -;;; Redistribution and use in source and binary forms, with or -;;; without modification, are permitted provided that the -;;; following conditions are met: -;;; 1. Redistributions of source code must retain the above -;;; copyright notice, this list of conditions and the -;;; following disclaimer. -;;; 2. Redistributions in binary form must reproduce the -;;; above copyright notice, this list of conditions and -;;; the following disclaimer in the documentation and/or -;;; other materials provided with the distribution. -;;; 3. Neither the name of the project nor the names of -;;; its contributors may be used to endorse or promote -;;; products derived from this software without specific -;;; prior written permission. -;;; -;;; THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS -;;; ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -;;; BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -;;; MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -;;; DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS -;;; BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -;;; EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -;;; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -;;; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -;;; HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -;;; IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE -;;; USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY -;;; OF SUCH DAMAGE. - -;;; Test functions -(load "test.scm") -;;; Software timer -(load "timer.scm") - -;;; Helper constants - -(define helper-direction-recv 1) -(define helper-direction-send 2) - -;;; Helper variables - -(define helper-var-last-display-msg '()) -(define helper-var-last-display-direction 0) -(define helper-var-display-newline #f) -(define helper-var-recv-buf "") - -(define helper-init-vars - (lambda () - (set! helper-var-last-display-msg '()) - (set! helper-var-last-display-direction 0) - (set! helper-var-display-newline #f) - )) - -(define predicate? - (lambda (pred data) - (apply pred (list data)))) - -(define predicate-one-true? - (lambda (predicate-list data) - (let ((data-list (make-list (length predicate-list) data))) - (primitive-eval (append '(or) (map predicate? predicate-list data-list)))))) - -(define wait-for-message - (lambda (sock recv-function predicate-list ignore-predicate-list timeout-msec) - (let ((t (timer-create timeout-msec))) - (set! t (timer-start t)) - (do ((abort #f)) - (abort) - (if (or (not (string-null? helper-var-recv-buf)) (sock-select-read sock 10)) - (begin - (let ((msg (recv-function sock))) - (if (predicate-one-true? predicate-list msg) - (begin - (set! abort #t)) - (begin - (if (not (predicate-one-true? ignore-predicate-list msg)) - (begin - (test-assert #f "The upper message was received but not expected.")))) - )))) - (if (timer-expired? t) - (begin - (set! abort #t) - (test-assert (null? predicate-list) "Expected message not received within time interval!")))) - ))) - -(define wait-for-message-in-interval - (lambda (sock recv-function predicate-list ignore-predicate-list delay-before-msec until-msec) - (wait-for-message sock recv-function '() ignore-predicate-list delay-before-msec) - (wait-for-message sock recv-function predicate-list ignore-predicate-list (- until-msec delay-before-msec)))) - -#! -(define recv-message - (lambda (socket) - (let ((buffer (make-string 256))) - (let ((ret (sock-recv! socket buffer))) - (let ((n (car ret))) - (string->bytes (substring buffer 0 n))))))) - -(define msg-test? - (lambda (msg) - #t)) - -(let ((sock (car (sock-accept (sock-bind-listen (sock-create-tcp AF_INET) "127.0.0.1" 6002 5))))) - (let ((ret (wait-for-message sock recv-message (list msg-test?) '() 10000))) - (sleep 1) - (sock-close sock) - ret)) -!# - -(define msg-display - (lambda (message direction) - (if (and (equal? message helper-var-last-display-msg) (= direction helper-var-last-display-direction)) - (begin - (display ".") - (set! helper-var-display-newline #t)) - (begin - (if helper-var-display-newline - (begin - (display "\n") - (set! helper-var-display-newline #f))) - (if (= direction helper-direction-recv) - (display "<-") - (display "->")) - (set! helper-var-last-display-msg (list-copy message)) - (set! helper-var-last-display-direction direction) - (display message) - (display "\n"))))) - -;;; -;;; Padding helper functions -;;; - -(define calc-num-padding-bytes - (lambda (size) - (remainder (- 4 (remainder size 4)) 4))) - -(define append-padding - (lambda (data) - (append data (zero-bytes (calc-num-padding-bytes (length data)))))) - -#! -(append-padding (list 1 2 3 4 5)) -!# diff --git a/tests/pkth.scm b/tests/pkth.scm deleted file mode 100644 index 229a85cd..00000000 --- a/tests/pkth.scm +++ /dev/null @@ -1,747 +0,0 @@ -;;; -;;; Copyright (C) 2007, 2008 Lothar May l-may@gmx.de -;;; -;;; All rights reserved. -;;; -;;; Redistribution and use in source and binary forms, with or -;;; without modification, are permitted provided that the -;;; following conditions are met: -;;; 1. Redistributions of source code must retain the above -;;; copyright notice, this list of conditions and the -;;; following disclaimer. -;;; 2. Redistributions in binary form must reproduce the -;;; above copyright notice, this list of conditions and -;;; the following disclaimer in the documentation and/or -;;; other materials provided with the distribution. -;;; 3. Neither the name of the project nor the names of -;;; its contributors may be used to endorse or promote -;;; products derived from this software without specific -;;; prior written permission. -;;; -;;; THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS -;;; ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -;;; BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -;;; MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -;;; DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS -;;; BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -;;; EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -;;; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -;;; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -;;; HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -;;; IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE -;;; USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY -;;; OF SUCH DAMAGE. - -;;; Version 1.0.0 - -;;; Socket functions -(load "sock.scm") -;;; Helper functions -(load "helper.scm") -;;; Network configuration -(load "pkth_config.scm") - -;;; SCTP Payload Protocol Identifier for PKTH -(define pkth-ppid 0) - -;;; TCP/SCTP Port for PKTH -(define pkth-port 7234) - -;;; PKTH protocol version -(define pkth-version-major 4) -(define pkth-version-minor 0) - -;;; PokerTH game version -(define pkth-game-version #x0006) -(define pkth-beta-revision #x0000) - -(define pkth-type-init #x0001) -(define pkth-type-init-ack #x0002) -(define pkth-type-retrieve-avatar #x0003) -(define pkth-type-avatar-header #x0004) -(define pkth-type-avatar-file #x0005) -(define pkth-type-avatar-end #x0006) -(define pkth-type-unknown-avatar #x0007) -(define pkth-type-game-list-new #x0010) -(define pkth-type-game-list-update #x0011) -(define pkth-type-game-list-player-joined #x0012) -(define pkth-type-game-list-player-left #x0013) -(define pkth-type-game-list-admin-changed #x0014) -(define pkth-type-retrieve-player-info #x0020) -(define pkth-type-player-info #x0021) -(define pkth-type-unknown-player-id #x0022) -(define pkth-type-create-game #x0030) -(define pkth-type-join-game #x0031) -(define pkth-type-join-game-ack #x0032) -(define pkth-type-join-game-failed #x0033) -(define pkth-type-player-joined #x0034) -(define pkth-type-player-left #x0035) -(define pkth-type-game-admin-changed #x0036) -(define pkth-type-kick-player #x0040) -(define pkth-type-leave-current-game #x0041) -(define pkth-type-start-event #x0042) -(define pkth-type-start-event-ack #x0043) -(define pkth-type-game-start #x0050) -(define pkth-type-hand-start #x0051) -(define pkth-type-players-turn #x0052) -(define pkth-type-players-action #x0053) -(define pkth-type-players-action-done #x0054) -(define pkth-type-players-action-rejected #x0055) -(define pkth-type-deal-flop-cards #x0060) -(define pkth-type-deal-turn-card #x0061) -(define pkth-type-deal-river-card #x0062) -(define pkth-type-all-in-show-cards #x0063) -(define pkth-type-end-of-hand-show-cards #x0064) -(define pkth-type-end-of-hand-hide-cards #x0065) -(define pkth-type-end-of-game #x0070) -(define pkth-type-statistics-changed #x0080) - -(define pkth-type-removed-from-game #x0100) - -(define pkth-type-send-chat-text #x0200) -(define pkth-type-chat-text #x0201) - -(define pkth-type-error #x0400) - -(define pkth-game-flag-password-protected #x01) - -(define pkth-player-flag-human #x01) -(define pkth-player-flag-has-avatar #x02) - -(define pkth-start-flag-fill-with-cpu-players #x01) - -(define pkth-privacy-flag-show-avatar #x01) - -;;; Reasons why join game failed. -(define pkth-join-failed-game-full #x0001) -(define pkth-join-failed-game-already-running #x0002) -(define pkth-join-failed-invalid-password #x0003) -(define pkth-join-failed-other-reason #xFFFF) - -;;; Reasons for being removed from a game. -(define pkth-removed-on-request #x0000) -(define pkth-removed-game-full #x0001) -(define pkth-removed-game-already-running #x0002) -(define pkth-removed-kicked #x0003) -(define pkth-removed-other-reason #xFFFF) - -;;; Internal error codes. -(define pkth-err-reserved #x0000) -(define pkth-err-init-version-not-supported #x0001) -(define pkth-err-init-server-full #x0002) -(define pkth-err-init-invalid-password #x0004) -(define pkth-err-init-player-name-in-use #x0005) -(define pkth-err-init-invalid-player-name #x0006) -(define pkth-err-init-server-maintenance #x0007) -(define pkth-err-avatar-too-large #x0010) -(define pkth-err-avatar-wrong-size #x0011) -(define pkth-err-join-game-unknown-game #x0020) -(define pkth-err-general-invalid-packet #xFF01) -(define pkth-err-general-invalid-state #xFF02) -(define pkth-err-general-player-kicked #xFF03) -(define pkth-err-other #xFFFF) - -;;; Constant for reserved -(define pkth-reserved 0) - -;;; Header lengths -(define pkth-header-length-common 4) - -;;; Common header value lengths -(define pkth-length-type 2) -(define pkth-length-msg-length 2) - -;;; Value lengths -(define pkth-length-version 2) -(define pkth-length-revision 2) -(define pkth-length-string-length 2) -(define pkth-length-flags 2) -(define pkth-length-reserved 2) -(define pkth-length-player-id 4) -(define pkth-length-session-id 4) -(define pkth-length-md5 16) -(define pkth-length-blind-value 2) - -;;; Value offsets common header -(define pkth-offset-type 0) -(define pkth-offset-msg-length (+ pkth-offset-type pkth-length-type)) -(define pkth-offset-data (+ pkth-offset-msg-length pkth-length-msg-length)) - -;;; Value offsets pkth-type-init -(define pkth-init-offset-version-major pkth-offset-data) -(define pkth-init-offset-version-minor (+ pkth-init-offset-version-major pkth-length-version)) -(define pkth-init-offset-password-length (+ pkth-init-offset-version-minor pkth-length-version)) -(define pkth-init-offset-player-name-length (+ pkth-init-offset-password-length pkth-length-string-length)) -(define pkth-init-offset-privacy-flags (+ pkth-init-offset-player-name-length pkth-length-string-length)) -(define pkth-init-offset-reserved (+ pkth-init-offset-privacy-flags pkth-length-flags)) -(define pkth-init-offset-avatar-md5 (+ pkth-init-offset-reserved pkth-length-reserved)) -(define pkth-init-offset-password (+ pkth-init-offset-avatar-md5 pkth-length-md5)) - -;;; Value offsets pkth-type-init-ack -(define pkth-init-ack-offset-game-version pkth-offset-data) -(define pkth-init-ack-offset-beta-revision (+ pkth-init-ack-offset-game-version pkth-length-version)) -(define pkth-init-ack-offset-session-id (+ pkth-init-ack-offset-beta-revision pkth-length-revision)) -(define pkth-init-ack-offset-player-id (+ pkth-init-ack-offset-session-id pkth-length-session-id)) - -;;; Minimum/maximum packet length -(define pkth-minimum-message-length pkth-header-length-common) -(define pkth-maximum-message-length 268) - -;;; Receive buf length -(define pkth-buf-length #xffff) - -;;; Game info constants -(define pkth-raise-interval-mode-on-hand 1) -(define pkth-raise-interval-mode-on-minute 2) - -(define pkth-raise-mode-double-blinds 1) -(define pkth-raise-mode-manual-blinds-order 2) - -(define pkth-end-raise-mode-double-blinds 1) -(define pkth-end-raise-mode-raise 2) -(define pkth-end-raise-mode-keep-last-blind 3) - -;;; -;;; Header constructors -;;; - -(define pkth-create-packet - (lambda (type data) - (append - (uint16->bytes type) - (uint16->bytes (+ pkth-header-length-common (apply + (map length data)))) - (apply append data)))) - -(define pkth-create-md5 - (lambda (m0 m1 m2 m3 m4 m5 m6 m7 m8 m9 mA mB mC mD mE mF) - (append - (uint8->bytes m0) - (uint8->bytes m1) - (uint8->bytes m2) - (uint8->bytes m3) - (uint8->bytes m4) - (uint8->bytes m5) - (uint8->bytes m6) - (uint8->bytes m7) - (uint8->bytes m8) - (uint8->bytes m9) - (uint8->bytes mA) - (uint8->bytes mB) - (uint8->bytes mC) - (uint8->bytes mD) - (uint8->bytes mE) - (uint8->bytes mF)))) - -(define pkth-create-game-info - (lambda (max-num-players raise-interval-mode raise-small-blind-interval raise-mode - end-raise-mode proposed-gui-speed player-action-timeout - first-small-blind end-raise-small-blind-value start-money manual-blind-slots) - (append - (uint16->bytes max-num-players) - (uint16->bytes raise-interval-mode) - (uint16->bytes raise-small-blind-interval) - (uint16->bytes raise-mode) - (uint16->bytes end-raise-mode) - (uint16->bytes (length manual-blind-slots)) - (uint16->bytes proposed-gui-speed) - (uint16->bytes player-action-timeout) - (uint32->bytes first-small-blind) - (uint32->bytes end-raise-small-blind-value) - (uint32->bytes start-money) - manual-blind-slots))) - -(define pkth-create-player-info - (lambda (player-id player-flags player-name avatar-md5) - (append - (uint32->bytes player-id) - (uint16->bytes player-flags) - (uint16->bytes (string-length player-name)) - (uint32->bytes 0) - avatar-md5 - (append-padding (string->bytes player-name))))) - -(define pkth-create-random-name - (lambda () - (let ((time (gettimeofday))) - (let ((name (list 84 101 115 116)) (randstate (seed->random-state (+ (car time) (cdr time))))) - (dotimes (n 10) - (append! name (list (+ 48 (random 10 randstate))))) - (bytes->string name))))) - -(define pkth-create-init-ex - (lambda (version-major version-minor privacy-flags avatar-md5 password player-name) - (pkth-create-packet - pkth-type-init - (list - (uint16->bytes version-major) - (uint16->bytes version-minor) - (uint16->bytes (string-length password)) - (uint16->bytes (string-length player-name)) - (uint16->bytes privacy-flags) - (uint16->bytes 0) - avatar-md5 - (append-padding (string->bytes password)) - (append-padding (string->bytes player-name)))))) - -(define pkth-create-init - (lambda (avatar-md5 password player-name) - (pkth-create-init-ex - pkth-version-major - pkth-version-minor - (if (null? avatar-md5) 0 pkth-privacy-flag-show-avatar) - avatar-md5 - password - player-name))) - -#! -(pkth-create-init - (pkth-create-md5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16) - "" - "hallo") -(pkth-create-init - '() - "" - "hallo") -!# - -(define pkth-create-init-ack-ex - (lambda (game-version beta-revision session-id player-id) - (pkth-create-packet - pkth-type-init-ack - (list - (uint16->bytes game-version) - (uint16->bytes beta-revision) - (uint32->bytes session-id) - (uint32->bytes player-id))))) - -(define pkth-create-init-ack - (lambda (session-id player-id) - (pkth-create-init-ack-ex - pkth-game-version - pkth-beta-revision - session-id - player-id))) - -(define pkth-create-create-game - (lambda (game-info game-name game-password) - (pkth-create-packet - pkth-type-create-game - (list - (uint16->bytes (string-length game-password)) - (uint16->bytes (string-length game-name)) - game-info - (append-padding (string->bytes game-password)) - (append-padding (string->bytes game-name)))))) - -(define pkth-create-join-game - (lambda (game-id game-password) - (pkth-create-packet - pkth-type-join-game - (list - (uint32->bytes game-id) - (uint16->bytes (string-length game-password)) - (uint16->bytes 0) - (append-padding (string->bytes game-password)))))) - -(define pkth-create-leave-current-game - (lambda () - (pkth-create-packet - pkth-type-leave-current-game - (list - (uint32->bytes 0))))) - -(define pkth-create-start-event - (lambda (start-flags) - (pkth-create-packet - pkth-type-start-event - (list - (uint16->bytes start-flags) - (uint16->bytes 0))))) - -(define pkth-create-start-event-ack - (lambda () - (pkth-create-packet - pkth-type-start-event-ack - (list - (uint32->bytes 0))))) - -#! -(pkth-create-init-ack #x66666666 #x88888888) -!# - -(define pkth-assert-minimal-length - (lambda (message) - (test-assert (>= (length message) pkth-minimum-message-length) "PKTH message is too small (no common header)!"))) - -#! -(pkth-assert-minimal-length '(1 2 3 4)) -(pkth-assert-minimal-length '(1 2 3 4 5 6)) -!# - -(define pkth-assert-length - (lambda (ls len) - (test-assert (>= (length ls) len) "PKTH message is too small!"))) - -#! -(pkth-assert-length '(1 2 3 4 5 6 7 8) 16) -(pkth-assert-length '(1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16) 16) -!# - -(define pkth-is-valid-type? - (lambda (message) - (let ((type (pkth-get-type message))) - (or - (= type pkth-type-init) - (= type pkth-type-init-ack) - (= type pkth-type-retrieve-avatar) - (= type pkth-type-avatar-header) - (= type pkth-type-avatar-file) - (= type pkth-type-avatar-end) - (= type pkth-type-unknown-avatar) - (= type pkth-type-game-list-new) - (= type pkth-type-game-list-update) - (= type pkth-type-game-list-player-joined) - (= type pkth-type-game-list-player-left) - (= type pkth-type-game-list-admin-changed) - (= type pkth-type-retrieve-player-info) - (= type pkth-type-player-info) - (= type pkth-type-unknown-player-id) - (= type pkth-type-create-game) - (= type pkth-type-join-game) - (= type pkth-type-join-game-ack) - (= type pkth-type-join-game-failed) - (= type pkth-type-player-joined) - (= type pkth-type-player-left) - (= type pkth-type-game-admin-changed) - (= type pkth-type-kick-player) - (= type pkth-type-leave-current-game) - (= type pkth-type-start-event) - (= type pkth-type-start-event-ack) - (= type pkth-type-game-start) - (= type pkth-type-hand-start) - (= type pkth-type-players-turn) - (= type pkth-type-players-action) - (= type pkth-type-players-action-done) - (= type pkth-type-players-action-rejected) - (= type pkth-type-deal-flop-cards) - (= type pkth-type-deal-turn-card) - (= type pkth-type-deal-river-card) - (= type pkth-type-all-in-show-cards) - (= type pkth-type-end-of-hand-show-cards) - (= type pkth-type-end-of-hand-hide-cards) - (= type pkth-type-end-of-game) - (= type pkth-type-statistics-changed) - (= type pkth-type-removed-from-game) - (= type pkth-type-send-chat-text) - (= type pkth-type-chat-text) - (= type pkth-type-error))))) - -;;; -;;; Packet getter functions -;;; - -(define pkth-get-type - (lambda (message) - (pkth-assert-minimal-length message) - (let ((type (bytes->uint16 (list-head (list-tail message pkth-offset-type) pkth-length-type)))) - type))) - -(define pkth-get-length - (lambda (message) - (pkth-assert-minimal-length message) - (bytes->uint16 (list-head (list-tail message pkth-offset-msg-length) pkth-length-msg-length)))) - -(define pkth-get-data - (lambda (message) - (pkth-assert-minimal-length message) - (list-tail message pkth-offset-data))) - -;;; init-ack - -(define pkth-get-init-ack-game-version - (lambda (message) - (pkth-assert-length message (+ pkth-header-length-common pkth-length-version)) - (bytes->uint16 (list-head (pkth-get-data message) pkth-length-version)))) - -(define pkth-get-init-ack-beta-revision - (lambda (message) - (pkth-assert-length message (+ pkth-header-length-common pkth-init-ack-offset-beta-revision pkth-length-revision)) - (bytes->uint16 (list-head (list-tail (pkth-get-data message) pkth-init-ack-offset-beta-revision) pkth-length-revision)))) - -(define pkth-get-init-ack-session-id - (lambda (message) - (pkth-assert-length message (+ pkth-header-length-common pkth-init-ack-offset-session-id pkth-length-session-id)) - (bytes->uint32 (list-head (list-tail (pkth-get-data message) pkth-init-ack-offset-session-id) pkth-length-session-id)))) - -(define pkth-get-init-ack-player-id - (lambda (message) - (pkth-assert-length message (+ pkth-header-length-common pkth-init-ack-offset-player-id pkth-length-player-id)) - (bytes->uint32 (list-head (list-tail (pkth-get-data message) pkth-init-ack-offset-player-id) pkth-length-player-id)))) - -;;; -;;; Type check functions -;;; - -(define pkth-is-type-init? - (lambda (message) - (= (pkth-get-type message) pkth-type-init))) - -(define pkth-is-type-init-ack? - (lambda (message) - (= (pkth-get-type message) pkth-type-init-ack))) - -(define pkth-is-type-retrieve-avatar? - (lambda (message) - (= (pkth-get-type message) pkth-type-retrieve-avatar))) - -(define pkth-is-type-avatar-header? - (lambda (message) - (= (pkth-get-type message) pkth-type-avatar-header))) - -(define pkth-is-type-avatar-file? - (lambda (message) - (= (pkth-get-type message) pkth-type-avatar-file))) - -(define pkth-is-type-avatar-end? - (lambda (message) - (= (pkth-get-type message) pkth-type-avatar-end))) - -(define pkth-is-type-unknown-avatar? - (lambda (message) - (= (pkth-get-type message) pkth-type-unknown-avatar))) - -(define pkth-is-type-game-list-new? - (lambda (message) - (= (pkth-get-type message) pkth-type-game-list-new))) - -(define pkth-is-type-game-list-update? - (lambda (message) - (= (pkth-get-type message) pkth-type-game-list-update))) - -(define pkth-is-type-game-list-player-joined? - (lambda (message) - (= (pkth-get-type message) pkth-type-game-list-player-joined))) - -(define pkth-is-type-game-list-player-left? - (lambda (message) - (= (pkth-get-type message) pkth-type-game-list-player-left))) - -(define pkth-is-type-game-list-admin-changed? - (lambda (message) - (= (pkth-get-type message) pkth-type-game-list-admin-changed))) - -(define pkth-is-type-retrieve-player-info? - (lambda (message) - (= (pkth-get-type message) pkth-type-retrieve-player-info))) - -(define pkth-is-type-player-info? - (lambda (message) - (= (pkth-get-type message) pkth-type-player-info))) - -(define pkth-is-type-unknown-player-id? - (lambda (message) - (= (pkth-get-type message) pkth-type-unknown-player-id))) - -(define pkth-is-type-unknown-player-id? - (lambda (message) - (= (pkth-get-type message) pkth-type-unknown-player-id))) - -(define pkth-is-type-create-game? - (lambda (message) - (= (pkth-get-type message) pkth-type-create-game))) - -(define pkth-is-type-join-game? - (lambda (message) - (= (pkth-get-type message) pkth-type-join-game))) - -(define pkth-is-type-join-game-ack? - (lambda (message) - (= (pkth-get-type message) pkth-type-join-game-ack))) - -(define pkth-is-type-join-game-failed? - (lambda (message) - (= (pkth-get-type message) pkth-type-join-game-failed))) - -(define pkth-is-type-player-joined? - (lambda (message) - (= (pkth-get-type message) pkth-type-player-joined))) - -(define pkth-is-type-player-left? - (lambda (message) - (= (pkth-get-type message) pkth-type-player-left))) - -(define pkth-is-type-game-admin-changed? - (lambda (message) - (= (pkth-get-type message) pkth-type-game-admin-changed))) - -(define pkth-is-type-kick-player? - (lambda (message) - (= (pkth-get-type message) pkth-type-kick-player))) - -(define pkth-is-type-leave-current-game? - (lambda (message) - (= (pkth-get-type message) pkth-type-leave-current-game))) - -(define pkth-is-type-start-event? - (lambda (message) - (= (pkth-get-type message) pkth-type-start-event))) - -(define pkth-is-type-start-event-ack? - (lambda (message) - (= (pkth-get-type message) pkth-type-start-event-ack))) - -(define pkth-is-type-game-start? - (lambda (message) - (= (pkth-get-type message) pkth-type-game-start))) - -(define pkth-is-type-hand-start? - (lambda (message) - (= (pkth-get-type message) pkth-type-hand-start))) - -(define pkth-is-type-players-turn? - (lambda (message) - (= (pkth-get-type message) pkth-type-players-turn))) - -(define pkth-is-type-players-action? - (lambda (message) - (= (pkth-get-type message) pkth-type-players-action))) - -(define pkth-is-type-players-action-done? - (lambda (message) - (= (pkth-get-type message) pkth-type-players-action-done))) - -(define pkth-is-type-players-action-rejected? - (lambda (message) - (= (pkth-get-type message) pkth-type-players-action-rejected))) - -(define pkth-is-type-deal-flop-cards? - (lambda (message) - (= (pkth-get-type message) pkth-type-deal-flop-cards))) - -(define pkth-is-type-deal-turn-card? - (lambda (message) - (= (pkth-get-type message) pkth-type-deal-turn-card))) - -(define pkth-is-type-deal-river-card? - (lambda (message) - (= (pkth-get-type message) pkth-type-deal-river-card))) - -(define pkth-is-type-all-in-show-cards? - (lambda (message) - (= (pkth-get-type message) pkth-type-all-in-show-cards))) - -(define pkth-is-type-end-of-hand-show-cards? - (lambda (message) - (= (pkth-get-type message) pkth-type-end-of-hand-show-cards))) - -(define pkth-is-type-end-of-hand-hide-cards? - (lambda (message) - (= (pkth-get-type message) pkth-type-end-of-hand-hide-cards))) - -(define pkth-is-type-end-of-game? - (lambda (message) - (= (pkth-get-type message) pkth-type-end-of-game))) - -(define pkth-is-type-statistics-changed? - (lambda (message) - (= (pkth-get-type message) pkth-type-statistics-changed))) - -(define pkth-is-type-removed-from-game? - (lambda (message) - (= (pkth-get-type message) pkth-type-removed-from-game))) - -(define pkth-is-type-send-chat-text? - (lambda (message) - (= (pkth-get-type message) pkth-type-send-chat-text))) - -(define pkth-is-type-chat-text? - (lambda (message) - (= (pkth-get-type message) pkth-type-chat-text))) - -(define pkth-is-type-error? - (lambda (message) - (= (pkth-get-type message) pkth-type-error))) - -;;; Multiple types - -(define pkth-is-type-game-list-all? - (lambda (message) - (let ((type (pkth-get-type message))) - (or - (= type pkth-type-game-list-new) - (= type pkth-type-game-list-update) - (= type pkth-type-game-list-player-joined) - (= type pkth-type-game-list-player-left) - (= type pkth-type-game-list-admin-changed))))) - -;;; pkth-type-init - -;;; -;;; I/O functions -;;; - -;;; Connect to server according to config. -(define pkth-connect - (lambda () - (set! helper-var-recv-buf "") - (let ((sock (sock-create-tcp PKTH_CONF_CONNECT_ADDR_FAMILY))) - (sock-bind sock PKTH_CONF_CONNECT_LOCAL_ADDR PKTH_CONF_CONNECT_LOCAL_PORT) - (sock-connect sock PKTH_CONF_CONNECT_REMOTE_ADDR PKTH_CONF_CONNECT_REMOTE_PORT) - sock))) - -(define pkth-send-message-nolog - (lambda (socket message) - (sock-send socket (bytes->string message)))) - -(define pkth-send-message - (lambda (socket message) - ;(msg-display message helper-direction-send) - (pkth-send-message-nolog socket message))) - -; The recv function for PKTH is somewhat more complicated, because -; TCP has to be supported. We have to check for message boundaries. -(define pkth-recv-message - (lambda (socket) - (let ((ret 0)) - (do ((abort #f)) - (abort) - (let ((buflen (string-length helper-var-recv-buf))) - (if (>= buflen pkth-header-length-common) - (begin - (let ((packetlen (pkth-get-length (string->bytes helper-var-recv-buf)))) - (if (<= packetlen buflen) - (begin - (set! abort #t) - (let ((packet (string-copy (substring helper-var-recv-buf 0 packetlen)))) - (set! helper-var-recv-buf (string-drop helper-var-recv-buf packetlen)) - (set! ret (string->bytes packet)) - (test-assert (pkth-is-valid-type? ret) "Invalid PKTH message type.") - ;(msg-display ret helper-direction-recv) - ))))))) - (if (not abort) - (let ((buf (make-string pkth-buf-length))) - (let ((recvret (sock-recv! socket buf))) - (let ((tmpbuf (substring buf 0 (car recvret)))) - (if (string-null? tmpbuf) ; Abort if connection closed. - (begin - (set! helper-var-recv-buf "") - (set! abort #t) - (set! ret #f)) - (begin - (set! helper-var-recv-buf (string-append helper-var-recv-buf tmpbuf)) - ))))))) - ret))) - -#! -(let ((sock (pkth-connect))) - (pkth-send-message - sock - (pkth-create-init - (pkth-create-md5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16) - "" - "hallo")) - (pkth-recv-message sock) - (sleep 1) - (pkth-close)) -!# diff --git a/tests/pkth_config.scm b/tests/pkth_config.scm deleted file mode 100644 index da264868..00000000 --- a/tests/pkth_config.scm +++ /dev/null @@ -1,40 +0,0 @@ -;;; -;;; Copyright (C) 2007 Lothar May l-may@gmx.de -;;; -;;; All rights reserved. -;;; -;;; Redistribution and use in source and binary forms, with or -;;; without modification, are permitted provided that the -;;; following conditions are met: -;;; 1. Redistributions of source code must retain the above -;;; copyright notice, this list of conditions and the -;;; following disclaimer. -;;; 2. Redistributions in binary form must reproduce the -;;; above copyright notice, this list of conditions and -;;; the following disclaimer in the documentation and/or -;;; other materials provided with the distribution. -;;; 3. Neither the name of the project nor the names of -;;; its contributors may be used to endorse or promote -;;; products derived from this software without specific -;;; prior written permission. -;;; -;;; THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS -;;; ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -;;; BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -;;; MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -;;; DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS -;;; BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -;;; EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -;;; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -;;; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -;;; HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -;;; IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE -;;; USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY -;;; OF SUCH DAMAGE. - -(define PKTH_CONF_CONNECT_LOCAL_ADDR "192.168.1.5") -(define PKTH_CONF_CONNECT_LOCAL_PORT 0) -(define PKTH_CONF_CONNECT_REMOTE_ADDR "192.168.1.4") -(define PKTH_CONF_CONNECT_REMOTE_PORT 7234) -(define PKTH_CONF_CONNECT_ADDR_FAMILY AF_INET) diff --git a/tests/pkth_tests.scm b/tests/pkth_tests.scm deleted file mode 100644 index 8ac732e8..00000000 --- a/tests/pkth_tests.scm +++ /dev/null @@ -1,203 +0,0 @@ -;;; -;;; Copyright (C) 2007 Lothar May l-may@gmx.de -;;; -;;; All rights reserved. -;;; -;;; Redistribution and use in source and binary forms, with or -;;; without modification, are permitted provided that the -;;; following conditions are met: -;;; 1. Redistributions of source code must retain the above -;;; copyright notice, this list of conditions and the -;;; following disclaimer. -;;; 2. Redistributions in binary form must reproduce the -;;; above copyright notice, this list of conditions and -;;; the following disclaimer in the documentation and/or -;;; other materials provided with the distribution. -;;; 3. Neither the name of the project nor the names of -;;; its contributors may be used to endorse or promote -;;; products derived from this software without specific -;;; prior written permission. -;;; -;;; THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS -;;; ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -;;; BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -;;; MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -;;; DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS -;;; BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -;;; EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -;;; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -;;; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -;;; HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -;;; IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE -;;; USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY -;;; OF SUCH DAMAGE. - -;;; PKTH functions -(load "pkth.scm") - -(define pkth-test-list '()) - -(define (pkth-test-init-packet-too-large) - (let ((sock (pkth-connect))) - (display "Sending loads of large init packets...\n") - (dotimes (n 1024) - (pkth-send-message-nolog - sock - (pkth-create-packet - pkth-type-init - (list - (uint16->bytes pkth-version-major) - (uint16->bytes pkth-version-minor) - (uint16->bytes (string-length "")) - (uint16->bytes (string-length "client1")) - (uint16->bytes 0) - (uint16->bytes 0) - (append-padding (string->bytes "")) - (append-padding (string->bytes "client1")) - (make-list 1024 0))))) - (sock-close sock) - )) -;(set! pkth-test-list (test-register pkth-test-list "PKTH: Init with too large packets" pkth-test-init-packet-too-large)) - -(define (pkth-test-init) - (dotimes (n 1024) - (let ((sock (pkth-connect))) - (pkth-send-message sock (pkth-create-init '() "" (number->string n))) - (display "Waiting for Init-Ack...\n") - (wait-for-message sock pkth-recv-message (list pkth-is-type-init-ack?) '() 5000) - (sock-close sock)))) - -;(set! pkth-test-list (test-register pkth-test-list "PKTH: Init" pkth-test-init)) - -(define (pkth-test-create-destroy-game) - (let ((sock (pkth-connect))) - (pkth-send-message sock (pkth-create-init '() "" "client1")) - (display "Waiting for Init-Ack...\n") - (wait-for-message sock pkth-recv-message (list pkth-is-type-init-ack?) '() 5000) - (display "Creating and destroying loads of games...\n") - (dotimes (n 256) - (pkth-send-message sock - (pkth-create-create-game - (pkth-create-game-info - 7 - pkth-raise-interval-mode-on-hand - 4 - pkth-raise-mode-double-blinds - pkth-end-raise-mode-double-blinds - 11 - 20 ; player action timeout - 40 ; first small blind - 0 ; end raise small blind - 2000 ; start money - '() ; manual blinds - ) - "test game" - "test password" - )) - (display "Waiting for Game List New / Join Game Ack / Game List Player Joined...\n") - (wait-for-message sock pkth-recv-message (list pkth-is-type-game-list-new? pkth-is-type-join-game-ack? pkth-is-type-game-list-player-joined?) (list pkth-is-type-statistics-changed?) 5000) - (wait-for-message sock pkth-recv-message (list pkth-is-type-game-list-new? pkth-is-type-join-game-ack? pkth-is-type-game-list-player-joined?) (list pkth-is-type-statistics-changed?) 5000) - (wait-for-message sock pkth-recv-message (list pkth-is-type-game-list-new? pkth-is-type-join-game-ack? pkth-is-type-game-list-player-joined?) (list pkth-is-type-statistics-changed?) 5000) - (pkth-send-message sock (pkth-create-leave-current-game)) - (display "Waiting for Game List Player Left...\n") - (wait-for-message sock pkth-recv-message (list pkth-is-type-game-list-player-left?) (list pkth-is-type-statistics-changed?) 5000) - (display "Waiting for Removed From Game...\n") - (wait-for-message sock pkth-recv-message (list pkth-is-type-removed-from-game?) (list pkth-is-type-statistics-changed?) 5000) - (display "Waiting for Game List Update...\n") - (wait-for-message sock pkth-recv-message (list pkth-is-type-game-list-update?) (list pkth-is-type-statistics-changed?) 5000) - ) - (sock-close sock) - )) -;(set! pkth-test-list (test-register pkth-test-list "PKTH Test 2: Creating and destroying games" pkth-test-create-destroy-game)) - -(define (pkth-test-start-leave-game) - (let ((sock (pkth-connect))) - (pkth-send-message sock (pkth-create-init '() "" (pkth-create-random-name))) - (display "Waiting for Init-Ack...\n") - (wait-for-message sock pkth-recv-message (list pkth-is-type-init-ack?) '() 20000) - (display "Starting and leaving loads of games...\n") - (dotimes (n 1024) - (pkth-send-message sock - (pkth-create-create-game - (pkth-create-game-info - 7 - pkth-raise-interval-mode-on-hand - 4 - pkth-raise-mode-double-blinds - pkth-end-raise-mode-double-blinds - 11 - 20 ; player action timeout - 40 ; first small blind - 0 ; end raise small blind - 2000 ; start money - '() ; manual blinds - ) - "test game" - "test password" - )) - (display "Waiting for Join Game Ack...\n") - (wait-for-message sock pkth-recv-message (list pkth-is-type-join-game-ack?) (list pkth-is-type-statistics-changed? pkth-is-type-game-list-all?) 20000) -; (pkth-send-message sock (pkth-create-start-event pkth-start-flag-fill-with-cpu-players)) - (display "Waiting for Start Event...\n") -; (wait-for-message sock pkth-recv-message (list pkth-is-type-start-event?) (list pkth-is-type-statistics-changed? pkth-is-type-player-joined? pkth-is-type-game-list-all?) 20000) -; (pkth-send-message sock (pkth-create-start-event-ack)) -; (display "Waiting for Game Start...\n") -; (wait-for-message sock pkth-recv-message (list pkth-is-type-game-start?) (list pkth-is-type-statistics-changed? pkth-is-type-game-list-all?) 20000) -; (display "Waiting for Hand Start...\n") -; (wait-for-message sock pkth-recv-message (list pkth-is-type-hand-start?) (list pkth-is-type-statistics-changed? pkth-is-type-game-list-all?) 20000) -; (display "Waiting for Players Turn...\n") -; (wait-for-message sock pkth-recv-message (list pkth-is-type-players-turn?) (list pkth-is-type-statistics-changed? pkth-is-type-players-action-done? pkth-is-type-game-list-all?) 20000) - (pkth-send-message sock (pkth-create-leave-current-game)) - (display "Waiting for Removed From Game...\n") - (wait-for-message sock pkth-recv-message (list pkth-is-type-removed-from-game?) (list pkth-is-type-statistics-changed? pkth-is-type-players-action-done? pkth-is-type-players-turn? pkth-is-type-player-left? pkth-is-type-deal-flop-cards? pkth-is-type-end-of-hand-hide-cards? pkth-is-type-game-list-all?) 20000) - ) - (sock-close sock) - )) -;(set! pkth-test-list (test-register pkth-test-list "PKTH Test 3: Starting and leaving games" pkth-test-start-leave-game)) - -(define (pkth-test-run-game) - (let ((sock (pkth-connect))) - (pkth-send-message sock (pkth-create-init '() "" (pkth-create-random-name))) - (display "Waiting for Init-Ack...\n") - (wait-for-message sock pkth-recv-message (list pkth-is-type-init-ack?) '() 20000) - (display "Starting and leaving loads of games...\n") - (dotimes (n 512) - (pkth-send-message sock - (pkth-create-create-game - (pkth-create-game-info - 7 - pkth-raise-interval-mode-on-hand - 4 - pkth-raise-mode-double-blinds - pkth-end-raise-mode-double-blinds - 11 - 20 ; player action timeout - 40 ; first small blind - 0 ; end raise small blind - 2000 ; start money - '() ; manual blinds - ) - (pkth-create-random-name) - "test password" - )) - (display "Waiting for Join Game Ack...\n") - (wait-for-message sock pkth-recv-message (list pkth-is-type-join-game-ack?) (list pkth-is-type-statistics-changed? pkth-is-type-game-list-all?) 20000) - (pkth-send-message sock (pkth-create-start-event pkth-start-flag-fill-with-cpu-players)) - (display "Waiting for Start Event...\n") - (wait-for-message sock pkth-recv-message (list pkth-is-type-start-event?) (list pkth-is-type-statistics-changed? pkth-is-type-player-joined? pkth-is-type-game-list-all?) 20000) - (pkth-send-message sock (pkth-create-start-event-ack)) - (display "Waiting for Game Start...\n") - (wait-for-message sock pkth-recv-message (list pkth-is-type-game-start?) (list pkth-is-type-statistics-changed? pkth-is-type-game-list-all?) 20000) - (display "Waiting for End Of Game...\n") - (wait-for-message sock pkth-recv-message (list pkth-is-type-end-of-game?) (list pkth-is-valid-type?) 5000000) - (pkth-send-message sock (pkth-create-leave-current-game)) - (display "Waiting for Removed From Game...\n") - (wait-for-message sock pkth-recv-message (list pkth-is-type-removed-from-game?) (list pkth-is-type-statistics-changed? pkth-is-type-player-left? pkth-is-type-game-list-all?) 20000) - ) - (sock-close sock) - )) -(set! pkth-test-list (test-register pkth-test-list "PKTH Test 4: Running games" pkth-test-run-game)) - -(test-run-all pkth-test-list) - diff --git a/tests/sock.scm b/tests/sock.scm deleted file mode 100644 index 1cdb94c1..00000000 --- a/tests/sock.scm +++ /dev/null @@ -1,174 +0,0 @@ -;;; -;;; Copyright (C) 2007 Lothar May l-may@gmx.de -;;; -;;; All rights reserved. -;;; -;;; Redistribution and use in source and binary forms, with or -;;; without modification, are permitted provided that the -;;; following conditions are met: -;;; 1. Redistributions of source code must retain the above -;;; copyright notice, this list of conditions and the -;;; following disclaimer. -;;; 2. Redistributions in binary form must reproduce the -;;; above copyright notice, this list of conditions and -;;; the following disclaimer in the documentation and/or -;;; other materials provided with the distribution. -;;; 3. Neither the name of the project nor the names of -;;; its contributors may be used to endorse or promote -;;; products derived from this software without specific -;;; prior written permission. -;;; -;;; THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS -;;; ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -;;; BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -;;; MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -;;; DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS -;;; BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -;;; EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -;;; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -;;; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -;;; HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -;;; IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE -;;; USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY -;;; OF SUCH DAMAGE. - -(load "common.scm") - -(define sock-create-tcp - (lambda (af) - (let ((s (socket af SOCK_STREAM 0))) - (cons s af)))) - -(define sock-create-udp - (lambda (af) - (let ((s (socket af SOCK_DGRAM 0))) - (cons s af)))) - -(define sock-create-sctp - (lambda (af) - (let ((s (socket af SOCK_STREAM IPPROTO_SCTP))) - (cons s af)))) - -(define sock-create-sctp-1toM - (lambda (af) - (let ((s (socket af SOCK_DGRAM IPPROTO_SCTP))) - (cons s af)))) - -(define sock-close - (lambda (sock) - (let ((s (car sock))) - (close s)))) - -(define sock-select-read - (lambda (sock timeout-msec) - (let ((s (car sock))) - (= - (vector-length (car (select (vector s) (vector) (vector) (quotient timeout-msec 1000) (* 1000 (modulo timeout-msec 1000))))) - 1)))) - -#! -(sock-close (sock-create-sctp AF_INET)) -(sock-close (sock-create-sctp AF_INET6)) -!# - - (define ipv4-resolve - (lambda (name) - (inet-ntop AF_INET (car (vector-ref (gethostbyname name) 4))))) - -(define sock-bind - (lambda (sock local-addr local-port) - (let ((af (cdr sock))) - (setsockopt (car sock) SOL_SOCKET SO_REUSEADDR 1) - (setsockopt (car sock) SOL_SOCKET SO_LINGER (cons 1 60)) - (bind (car sock) af (inet-pton af local-addr) local-port) - sock))) - -#! -(sock-close (sock-bind (sock-create-udp AF_INET) "127.0.0.1" 5555)) -(sock-close (sock-bind (sock-create-udp AF_INET6) "::1" 5555)) -(sock-close (sock-bind (sock-create-tcp AF_INET) "127.0.0.1" 5555)) -(sock-close (sock-bind (sock-create-tcp AF_INET6) "::1" 5555)) -(sock-close (sock-bind (sock-create-sctp AF_INET) "127.0.0.1" 5555)) -(sock-close (sock-bind (sock-create-sctp AF_INET6) "::1" 5555)) -!# - -(define sock-bind-listen - (lambda (sock local-addr local-port queuesize) - (sock-bind sock local-addr local-port) - (listen (car sock) queuesize) - sock)) - -#! -(sock-close (sock-bind-listen (sock-create-sctp AF_INET) "127.0.0.1" 5555 5)) -(sock-close (sock-bind-listen (sock-create-sctp AF_INET6) "::1" 5555 5)) -!# - -(define sock-accept - (lambda (sock) - (let ((clientinfo (accept (car sock)))) - (let ((sender (cdr clientinfo))) - (cons (cons (car clientinfo) (cdr sock)) (cons (inet-ntop (cdr sock) (sockaddr:addr sender)) (sockaddr:port sender))))))) - - #! -(sock-accept (sock-bind-listen (sock-create-tcp AF_INET) "127.0.0.1" 5555 5)) -(sock-accept (sock-bind-listen (sock-create-tcp AF_INET6) "::1" 5555 5)) -!# - -(define sock-connect - (lambda (sock remote-addr remote-port) - (let ((af (cdr sock))) - (connect (car sock) af (inet-pton af remote-addr) remote-port) - sock))) - - #! -(sock-close (sock-connect (sock-create-tcp AF_INET) (ipv4-resolve "www.google.de") 80)) -!# - -(define sock-send - (lambda (sock buf) - (send (car sock) buf))) - -(define sock-send-sctp - (lambda (sock stream ppid buf) - (if (= (cdr sock) AF_INET6) - (sctp-sendmsg (car sock) buf (htonl ppid) stream 0 0 AF_INET6 (inet-pton AF_INET6 "::0") 0) - (sctp-sendmsg (car sock) buf (htonl ppid) stream 0 0 AF_INET INADDR_ANY 0) - ))) - -(define sock-recv-sctp! - (lambda (sock buf) - (let ((ret (sctp-recvmsg! (car sock) buf))) - (let ((info (list-ref ret 3))) ; Return number of bytes, stream # and PPID - (list (car ret) (car info) (ntohl (list-ref info 2))))))) - - #! -(sock-send (car (sock-accept (sock-bind-listen (sock-create-tcp AF_INET) "127.0.0.1" 5555 5))) "Hallo") -!# - -(define sock-sendto - (lambda (sock buf remote-addr remote-port) - (let ((af (cdr sock))) - (sendto (car sock) buf af (inet-pton af remote-addr) remote-port)))) - -(define sock-recvfrom! - (lambda (sock buf) - (let ((ret (recvfrom! (car sock) buf))) - (let ((sender (cdr ret))) - (cons (car ret) (cons (inet-ntop (cdr sock) (sockaddr:addr sender)) (sockaddr:port sender))))))) - -(define sock-recv! - (lambda (sock buf) - (let ((ret (recv! (car sock) buf))) - (cons ret (cons "" 0))))) - -#! -(let ((server (sock-bind (sock-create-udp AF_INET) "0.0.0.0" 4440))) - (let ((client (sock-connect (sock-create-udp AF_INET) (ipv4-resolve "localhost") 4440))) - (sock-send client "Test\0") - (let ((recv-buf (make-string 10))) - (sock-recv! server recv-buf) - (display recv-buf) - (sock-close server) - (sock-close client)))) -!# diff --git a/tests/src/de/rtner/misc/BinTools.java b/tests/src/de/rtner/misc/BinTools.java new file mode 100644 index 00000000..941641a9 --- /dev/null +++ b/tests/src/de/rtner/misc/BinTools.java @@ -0,0 +1,120 @@ +package de.rtner.misc; + +/** + *

+ * Free auxiliary functions. Copyright (c) 2007 Matthias Gärtner + *

+ *

+ * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + *

+ *

+ * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + *

+ *

+ * You should have received a copy of the GNU Lesser General Public License + * along with this library; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + *

+ *

+ * For Details, see http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. + *

+ * + * @author Matthias Gärtner + * @version 1.0 + */ +public class BinTools +{ + public static final String hex = "0123456789ABCDEF"; + + /** + * Simple binary-to-hexadecimal conversion. + * + * @param b + * Input bytes. May be null. + * @return Hexadecimal representation of b. Uppercase A-F, two characters + * per byte. Empty string on null input. + */ + public static String bin2hex(final byte[] b) + { + if (b == null) + { + return ""; + } + StringBuffer sb = new StringBuffer(2 * b.length); + for (int i = 0; i < b.length; i++) + { + int v = (256 + b[i]) % 256; + sb.append(hex.charAt((v / 16) & 15)); + sb.append(hex.charAt((v % 16) & 15)); + } + return sb.toString(); + } + + /** + * Convert hex string to array of bytes. + * + * @param s + * String containing hexadecimal digits. May be null. + * On odd length leading zero will be assumed. + * @return Array on bytes, non-null. + * @throws IllegalArgumentException + * when string contains non-hex character + */ + public static byte[] hex2bin(final String s) + { + String m = s; + if (s == null) + { + // Allow empty input string. + m = ""; + } + else if (s.length() % 2 != 0) + { + // Assume leading zero for odd string length + m = "0" + s; + } + byte r[] = new byte[m.length() / 2]; + for (int i = 0, n = 0; i < m.length(); n++) + { + char h = m.charAt(i++); + char l = m.charAt(i++); + r[n] = (byte) (hex2bin(h) * 16 + hex2bin(l)); + } + return r; + } + + /** + * Convert hex digit to numerical value. + * + * @param c + * 0-9, a-f, A-F allowd. + * @return 0-15 + * @throws IllegalArgumentException + * on non-hex character + */ + public static int hex2bin(char c) + { + if (c >= '0' && c <= '9') + { + return (c - '0'); + } + if (c >= 'A' && c <= 'F') + { + return (c - 'A' + 10); + } + if (c >= 'a' && c <= 'f') + { + return (c - 'a' + 10); + } + throw new IllegalArgumentException( + "Input string may only contain hex digits, but found '" + c + + "'"); + } +} diff --git a/tests/src/de/rtner/security/auth/spi/MacBasedPRF.java b/tests/src/de/rtner/security/auth/spi/MacBasedPRF.java new file mode 100644 index 00000000..cb59798c --- /dev/null +++ b/tests/src/de/rtner/security/auth/spi/MacBasedPRF.java @@ -0,0 +1,111 @@ +package de.rtner.security.auth.spi; + +import java.security.InvalidKeyException; +import java.security.NoSuchAlgorithmException; +import java.security.NoSuchProviderException; + +import javax.crypto.Mac; +import javax.crypto.spec.SecretKeySpec; + +/** + * Default PRF implementation based on standard javax.crypt.Mac mechanisms. + * + *
+ *

+ * A free Java implementation of Password Based Key Derivation Function 2 as + * defined by RFC 2898. Copyright (c) 2007 Matthias Gärtner + *

+ *

+ * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + *

+ *

+ * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + *

+ *

+ * You should have received a copy of the GNU Lesser General Public License + * along with this library; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + *

+ *

+ * For Details, see http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. + *

+ * + * @author Matthias Gärtner + * @version 1.0 + */ +public class MacBasedPRF implements PRF +{ + protected Mac mac; + + protected int hLen; + + protected String macAlgorithm; + + /** + * Create Mac-based Pseudo Random Function. + * + * @param macAlgorithm + * Mac algorithm to use, i.e. HMacSHA1 or HMacMD5. + */ + public MacBasedPRF(String macAlgorithm) + { + this.macAlgorithm = macAlgorithm; + try + { + mac = Mac.getInstance(macAlgorithm); + hLen = mac.getMacLength(); + } + catch (NoSuchAlgorithmException e) + { + throw new RuntimeException(e); + } + } + + public MacBasedPRF(String macAlgorithm, String provider) + { + this.macAlgorithm = macAlgorithm; + try + { + mac = Mac.getInstance(macAlgorithm, provider); + hLen = mac.getMacLength(); + } + catch (NoSuchAlgorithmException e) + { + throw new RuntimeException(e); + } + catch (NoSuchProviderException e) + { + throw new RuntimeException(e); + } + } + + public byte[] doFinal(byte[] M) + { + byte[] r = mac.doFinal(M); + return r; + } + + public int getHLen() + { + return hLen; + } + + public void init(byte[] P) + { + try + { + mac.init(new SecretKeySpec(P, macAlgorithm)); + } + catch (InvalidKeyException e) + { + throw new RuntimeException(e); + } + } +} diff --git a/tests/src/de/rtner/security/auth/spi/PBKDF2.java b/tests/src/de/rtner/security/auth/spi/PBKDF2.java new file mode 100644 index 00000000..ca2939e3 --- /dev/null +++ b/tests/src/de/rtner/security/auth/spi/PBKDF2.java @@ -0,0 +1,98 @@ +package de.rtner.security.auth.spi; + +/** + *

+ * A free Java implementation of Password Based Key Derivation Function 2 as + * defined by RFC 2898. Copyright (c) 2007 Matthias Gärtner + *

+ *

+ * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + *

+ *

+ * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + *

+ *

+ * You should have received a copy of the GNU Lesser General Public License + * along with this library; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + *

+ *

+ * For Details, see http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. + *

+ * + * @author Matthias Gärtner + * @version 1.0 + */ +public interface PBKDF2 +{ + /** + * Convert String-based input to internal byte array, then invoke PBKDF2. + * Desired key length defaults to Pseudo Random Function block size. + * + * @param inputPassword + * Candidate password to compute the derived key for. + * @return internal byte array + */ + public abstract byte[] deriveKey(String inputPassword); + + /** + * Convert String-based input to internal byte array, then invoke PBKDF2. + * + * @param inputPassword + * Candidate password to compute the derived key for. + * @param dkLen + * Specify desired key length + * @return internal byte array + */ + public abstract byte[] deriveKey(String inputPassword, int dkLen); + + /** + * Convert String-based input to internal byte arrays, then invoke PBKDF2 + * and verify result against the reference data that is supplied in the + * PBKDF2Parameters. + * + * @param inputPassword + * Candidate password to compute the derived key for. + * @return true password match; false + * incorrect password + */ + public abstract boolean verifyKey(String inputPassword); + + /** + * Allow reading of configured parameters. + * + * @return Currently set parameters. + */ + public abstract PBKDF2Parameters getParameters(); + + /** + * Allow setting of configured parameters. + * + * @param parameters + */ + public abstract void setParameters(PBKDF2Parameters parameters); + + /** + * Get currently set Pseudo Random Function. + * + * @return Currently set Pseudo Random Function + */ + public abstract PRF getPseudoRandomFunction(); + + /** + * Set the Pseudo Random Function to use. Note that deriveKeys/getPRF does + * init this object using the supplied candidate password. If this is + * undesired, one has to override getPRF. + * + * @param prf + * Pseudo Random Function to set. + */ + public abstract void setPseudoRandomFunction(PRF prf); +} diff --git a/tests/src/de/rtner/security/auth/spi/PBKDF2Engine.java b/tests/src/de/rtner/security/auth/spi/PBKDF2Engine.java new file mode 100644 index 00000000..c30d8e31 --- /dev/null +++ b/tests/src/de/rtner/security/auth/spi/PBKDF2Engine.java @@ -0,0 +1,351 @@ +package de.rtner.security.auth.spi; + +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.security.NoSuchAlgorithmException; +import java.security.SecureRandom; + +/** + *

+ * Request for Comments: 2898 PKCS #5: Password-Based Cryptography Specification + *

+ * Version 2.0 + * + *

+ * PBKDF2 (P, S, c, dkLen) + * + *

+ * Options: + *

+ * + *

+ * Input: + *

+ * + *

+ * Output: + *

+ * + *
+ *

+ * A free Java implementation of Password Based Key Derivation Function 2 as + * defined by RFC 2898. Copyright (c) 2007 Matthias Gärtner + *

+ *

+ * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + *

+ *

+ * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + *

+ *

+ * You should have received a copy of the GNU Lesser General Public License + * along with this library; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + *

+ *

+ * For Details, see http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. + *

+ * + * @see RFC 2898 + * @author Matthias Gärtner + * @version 1.0 + */ +public class PBKDF2Engine implements PBKDF2 +{ + protected PBKDF2Parameters parameters; + + protected PRF prf; + + /** + * Constructor for PBKDF2 implementation object. PBKDF2 parameters must be + * passed later. + */ + public PBKDF2Engine() + { + this.parameters = null; + prf = null; + } + + /** + * Constructor for PBKDF2 implementation object. PBKDF2 parameters are + * passed so that this implementation knows iteration count, method to use + * and String encoding. + * + * @param parameters + * Data holder for iteration count, method to use et cetera. + */ + public PBKDF2Engine(PBKDF2Parameters parameters) + { + this.parameters = parameters; + prf = null; + } + + /** + * Constructor for PBKDF2 implementation object. PBKDF2 parameters are + * passed so that this implementation knows iteration count, method to use + * and String encoding. + * + * @param parameters + * Data holder for iteration count, method to use et cetera. + * @param prf + * Supply customer Pseudo Random Function. + */ + public PBKDF2Engine(PBKDF2Parameters parameters, PRF prf) + { + this.parameters = parameters; + this.prf = prf; + } + + public byte[] deriveKey(String inputPassword) + { + return deriveKey(inputPassword, 0); + } + + public byte[] deriveKey(String inputPassword, int dkLen) + { + byte[] r = null; + byte P[] = null; + String charset = parameters.getHashCharset(); + if (inputPassword == null) + { + inputPassword = ""; + } + try + { + if (charset == null) + { + P = inputPassword.getBytes(); + } + else + { + P = inputPassword.getBytes(charset); + } + } + catch (UnsupportedEncodingException e) + { + throw new RuntimeException(e); + } + assertPRF(P); + if (dkLen == 0) + { + dkLen = prf.getHLen(); + } + r = PBKDF2(prf, parameters.getSalt(), parameters.getIterationCount(), + dkLen); + return r; + } + + public byte[] deriveKey(byte[] inputPassword, int dkLen) + { + byte[] r = null; + assertPRF(inputPassword); + if (dkLen == 0) + { + dkLen = prf.getHLen(); + } + r = PBKDF2(prf, parameters.getSalt(), parameters.getIterationCount(), + dkLen); + return r; + } + + public boolean verifyKey(String inputPassword) + { + byte[] referenceKey = getParameters().getDerivedKey(); + if (referenceKey == null || referenceKey.length == 0) + { + return false; + } + byte[] inputKey = deriveKey(inputPassword, referenceKey.length); + + if (inputKey == null || inputKey.length != referenceKey.length) + { + return false; + } + for (int i = 0; i < inputKey.length; i++) + { + if (inputKey[i] != referenceKey[i]) + { + return false; + } + } + return true; + } + + /** + * Factory method. Default implementation is (H)MAC-based. To be overridden + * in derived classes. + * + * @param P + * User-supplied candidate password as array of bytes. + */ + protected void assertPRF(byte[] P) + { + if (prf == null) + { + prf = new MacBasedPRF(parameters.getHashAlgorithm()); + } + prf.init(P); + } + + public PRF getPseudoRandomFunction() + { + return prf; + } + + /** + * Core Password Based Key Derivation Function 2. + * + * @see RFC 2898 5.2 + * @param prf + * Pseudo Random Function (i.e. HmacSHA1) + * @param S + * Salt as array of bytes. null means no salt. + * @param c + * Iteration count (see RFC 2898 4.2) + * @param dkLen + * desired length of derived key. + * @return internal byte array + */ + protected byte[] PBKDF2(PRF prf, byte[] S, int c, int dkLen) + { + if (S == null) + { + S = new byte[0]; + } + int hLen = prf.getHLen(); + int l = ceil(dkLen, hLen); + int r = dkLen - (l - 1) * hLen; + byte T[] = new byte[l * hLen]; + int ti_offset = 0; + for (int i = 1; i <= l; i++) + { + _F(T, ti_offset, prf, S, c, i); + ti_offset += hLen; + } + if (r < hLen) + { + // Incomplete last block + byte DK[] = new byte[dkLen]; + System.arraycopy(T, 0, DK, 0, dkLen); + return DK; + } + return T; + } + + /** + * Integer division with ceiling function. + * + * @see RFC 2898 5.2 Step 2. + * @param a + * @param b + * @return ceil(a/b) + */ + protected int ceil(int a, int b) + { + int m = 0; + if (a % b > 0) + { + m = 1; + } + return a / b + m; + } + + /** + * Function F. + * + * @see RFC 2898 5.2 Step 3. + * @param dest + * Destination byte buffer + * @param offset + * Offset into destination byte buffer + * @param prf + * Pseudo Random Function + * @param S + * Salt as array of bytes + * @param c + * Iteration count + * @param blockIndex + */ + protected void _F(byte[] dest, int offset, PRF prf, byte[] S, int c, + int blockIndex) + { + int hLen = prf.getHLen(); + byte U_r[] = new byte[hLen]; + + // U0 = S || INT (i); + byte U_i[] = new byte[S.length + 4]; + System.arraycopy(S, 0, U_i, 0, S.length); + INT(U_i, S.length, blockIndex); + + for (int i = 0; i < c; i++) + { + U_i = prf.doFinal(U_i); + xor(U_r, U_i); + } + System.arraycopy(U_r, 0, dest, offset, hLen); + } + + /** + * Block-Xor. Xor source bytes into destination byte buffer. Destination + * buffer must be same length or less than source buffer. + * + * @param dest + * @param src + */ + protected void xor(byte[] dest, byte[] src) + { + for (int i = 0; i < dest.length; i++) + { + dest[i] ^= src[i]; + } + } + + /** + * Four-octet encoding of the integer i, most significant octet first. + * + * @see RFC 2898 5.2 Step 3. + * @param dest + * @param offset + * @param i + */ + protected void INT(byte[] dest, int offset, int i) + { + dest[offset + 0] = (byte) (i / (256 * 256 * 256)); + dest[offset + 1] = (byte) (i / (256 * 256)); + dest[offset + 2] = (byte) (i / (256)); + dest[offset + 3] = (byte) (i); + } + + public PBKDF2Parameters getParameters() + { + return parameters; + } + + public void setParameters(PBKDF2Parameters parameters) + { + this.parameters = parameters; + } + + public void setPseudoRandomFunction(PRF prf) + { + this.prf = prf; + } +} diff --git a/tests/src/de/rtner/security/auth/spi/PBKDF2Formatter.java b/tests/src/de/rtner/security/auth/spi/PBKDF2Formatter.java new file mode 100644 index 00000000..2cb43c2f --- /dev/null +++ b/tests/src/de/rtner/security/auth/spi/PBKDF2Formatter.java @@ -0,0 +1,54 @@ +package de.rtner.security.auth.spi; + +/** + *

+ * A free Java implementation of Password Based Key Derivation Function 2 as + * defined by RFC 2898. Copyright (c) 2007 Matthias Gärtner + *

+ *

+ * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + *

+ *

+ * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + *

+ *

+ * You should have received a copy of the GNU Lesser General Public License + * along with this library; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + *

+ *

+ * For Details, see http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. + *

+ * + * @author Matthias Gärtner + * @version 1.0 + */ +public interface PBKDF2Formatter +{ + /** + * Convert parameters to String. + * + * @param p + * Parameters object to output. + * @return String representation + */ + public abstract String toString(PBKDF2Parameters p); + + /** + * Convert String to parameters. Depending on actual implementation, it may + * be required to set further fields externally. + * + * @param s + * String representation of parameters to decode. + * @return false syntax OK, true some syntax + * issue. + */ + public abstract boolean fromString(PBKDF2Parameters p, String s); +} diff --git a/tests/src/de/rtner/security/auth/spi/PBKDF2HexFormatter.java b/tests/src/de/rtner/security/auth/spi/PBKDF2HexFormatter.java new file mode 100644 index 00000000..67b4645c --- /dev/null +++ b/tests/src/de/rtner/security/auth/spi/PBKDF2HexFormatter.java @@ -0,0 +1,67 @@ +package de.rtner.security.auth.spi; + +import de.rtner.misc.BinTools; + +/** + *

+ * A free Java implementation of Password Based Key Derivation Function 2 as + * defined by RFC 2898. Copyright (c) 2007 Matthias Gärtner + *

+ *

+ * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + *

+ *

+ * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + *

+ *

+ * You should have received a copy of the GNU Lesser General Public License + * along with this library; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + *

+ *

+ * For Details, see http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. + *

+ * + * @author Matthias Gärtner + * @version 1.0 + */ +public class PBKDF2HexFormatter implements PBKDF2Formatter +{ + public boolean fromString(PBKDF2Parameters p, String s) + { + if (p == null || s == null) + { + return true; + } + + String[] p123 = s.split(":"); + if (p123 == null || p123.length != 3) + { + return true; + } + + byte salt[] = BinTools.hex2bin(p123[0]); + int iterationCount = Integer.parseInt(p123[1]); + byte bDK[] = BinTools.hex2bin(p123[2]); + + p.setSalt(salt); + p.setIterationCount(iterationCount); + p.setDerivedKey(bDK); + return false; + } + + public String toString(PBKDF2Parameters p) + { + String s = BinTools.bin2hex(p.getSalt()) + ":" + + String.valueOf(p.getIterationCount()) + ":" + + BinTools.bin2hex(p.getDerivedKey()); + return s; + } +} diff --git a/tests/src/de/rtner/security/auth/spi/PBKDF2Parameters.java b/tests/src/de/rtner/security/auth/spi/PBKDF2Parameters.java new file mode 100644 index 00000000..d2d7ddcf --- /dev/null +++ b/tests/src/de/rtner/security/auth/spi/PBKDF2Parameters.java @@ -0,0 +1,165 @@ +package de.rtner.security.auth.spi; + +/** + *

+ * Parameter data holder for PBKDF2 configuration. + *

+ * + *
+ *

+ * A free Java implementation of Password Based Key Derivation Function 2 as + * defined by RFC 2898. Copyright (c) 2007 Matthias Gärtner + *

+ *

+ * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + *

+ *

+ * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + *

+ *

+ * You should have received a copy of the GNU Lesser General Public License + * along with this library; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + *

+ *

+ * For Details, see http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. + *

+ * + * @author Matthias Gärtner + * @version 1.0 + */ +public class PBKDF2Parameters +{ + protected byte[] salt; + + protected int iterationCount; + + protected String hashAlgorithm; + + protected String hashCharset; + + /** + * The derived key is actually only a convenience to store a reference + * derived key. It is not used during computation. + */ + protected byte[] derivedKey; + + /** + * Constructor. Defaults to null for byte arrays, UTF-8 as + * character set and 1000 for iteration count. + * + */ + public PBKDF2Parameters() + { + this.hashAlgorithm = null; + this.hashCharset = "UTF-8"; + this.salt = null; + this.iterationCount = 1000; + this.derivedKey = null; + } + + /** + * Constructor. + * + * @param hashAlgorithm + * for example HMacSHA1 or HMacMD5 + * @param hashCharset + * for example UTF-8 + * @param salt + * Salt as byte array, may be null (not + * recommended) + * @param iterationCount + * Number of iterations to execute. Recommended value 1000. + */ + public PBKDF2Parameters(String hashAlgorithm, String hashCharset, + byte[] salt, int iterationCount) + { + this.hashAlgorithm = hashAlgorithm; + this.hashCharset = hashCharset; + this.salt = salt; + this.iterationCount = iterationCount; + this.derivedKey = null; + } + + /** + * Constructor. + * + * @param hashAlgorithm + * for example HMacSHA1 or HMacMD5 + * @param hashCharset + * for example UTF-8 + * @param salt + * Salt as byte array, may be null (not + * recommended) + * @param iterationCount + * Number of iterations to execute. Recommended value 1000. + * @param derivedKey + * Convenience data holder, not used during computation. + */ + public PBKDF2Parameters(String hashAlgorithm, String hashCharset, + byte[] salt, int iterationCount, byte[] derivedKey) + { + this.hashAlgorithm = hashAlgorithm; + this.hashCharset = hashCharset; + this.salt = salt; + this.iterationCount = iterationCount; + this.derivedKey = derivedKey; + } + + public int getIterationCount() + { + return iterationCount; + } + + public void setIterationCount(int iterationCount) + { + this.iterationCount = iterationCount; + } + + public byte[] getSalt() + { + return salt; + } + + public void setSalt(byte[] salt) + { + this.salt = salt; + } + + public byte[] getDerivedKey() + { + return derivedKey; + } + + public void setDerivedKey(byte[] derivedKey) + { + this.derivedKey = derivedKey; + } + + public String getHashAlgorithm() + { + return hashAlgorithm; + } + + public void setHashAlgorithm(String hashAlgorithm) + { + this.hashAlgorithm = hashAlgorithm; + } + + public String getHashCharset() + { + return hashCharset; + } + + public void setHashCharset(String hashCharset) + { + this.hashCharset = hashCharset; + } +} diff --git a/tests/src/de/rtner/security/auth/spi/PRF.java b/tests/src/de/rtner/security/auth/spi/PRF.java new file mode 100644 index 00000000..103b84f8 --- /dev/null +++ b/tests/src/de/rtner/security/auth/spi/PRF.java @@ -0,0 +1,60 @@ +package de.rtner.security.auth.spi; + +/** + *

+ * A free Java implementation of Password Based Key Derivation Function 2 as + * defined by RFC 2898. Copyright (c) 2007 Matthias Gärtner + *

+ *

+ * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + *

+ *

+ * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + *

+ *

+ * You should have received a copy of the GNU Lesser General Public License + * along with this library; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + *

+ *

+ * For Details, see http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. + *

+ * + * @author Matthias Gärtner + * @version 1.0 + */ +public interface PRF +{ + /** + * Initialize this instance with the user-supplied password. + * + * @param P + * The password supplied as array of bytes. It is the caller's + * task to convert String passwords to bytes as appropriate. + */ + public void init(byte[] P); + + /** + * Pseudo Random Function + * + * @param M + * Input data/message etc. Together with any data supplied during + * initilization. + * @return Random bytes of hLen length. + */ + public byte[] doFinal(byte[] M); + + /** + * Query block size of underlying algorithm/mechanism. + * + * @return block size + */ + public int getHLen(); +} diff --git a/tests/src/pokerth_protocol/AfkWarningMessage.java b/tests/src/pokerth_protocol/AfkWarningMessage.java new file mode 100644 index 00000000..c1cb6e95 --- /dev/null +++ b/tests/src/pokerth_protocol/AfkWarningMessage.java @@ -0,0 +1,95 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "AfkWarningMessage" ) + public class AfkWarningMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "AfkWarningMessage" , isSet = false ) + public static class AfkWarningMessageSequenceType implements IASN1PreparedElement { + @ASN1Integer( name = "" ) + + @ASN1Element ( name = "remainingTimeouts", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Long remainingTimeouts = null; + + + + public Long getRemainingTimeouts () { + return this.remainingTimeouts; + } + + + + public void setRemainingTimeouts (Long value) { + this.remainingTimeouts = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_AfkWarningMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_AfkWarningMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(AfkWarningMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "AfkWarningMessage", isOptional = false , hasTag = true, tag = 134, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private AfkWarningMessageSequenceType value; + + + + public AfkWarningMessage () { + } + + + + public void setValue(AfkWarningMessageSequenceType value) { + this.value = value; + } + + + + public AfkWarningMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(AfkWarningMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/AfterHandShowCardsMessage.java b/tests/src/pokerth_protocol/AfterHandShowCardsMessage.java new file mode 100644 index 00000000..77a13f46 --- /dev/null +++ b/tests/src/pokerth_protocol/AfterHandShowCardsMessage.java @@ -0,0 +1,94 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "AfterHandShowCardsMessage" ) + public class AfterHandShowCardsMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "AfterHandShowCardsMessage" , isSet = false ) + public static class AfterHandShowCardsMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "playerResult", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private PlayerResult playerResult = null; + + + + public PlayerResult getPlayerResult () { + return this.playerResult; + } + + + + public void setPlayerResult (PlayerResult value) { + this.playerResult = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_AfterHandShowCardsMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_AfterHandShowCardsMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(AfterHandShowCardsMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "AfterHandShowCardsMessage", isOptional = false , hasTag = true, tag = 34, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private AfterHandShowCardsMessageSequenceType value; + + + + public AfterHandShowCardsMessage () { + } + + + + public void setValue(AfterHandShowCardsMessageSequenceType value) { + this.value = value; + } + + + + public AfterHandShowCardsMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(AfterHandShowCardsMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/AllInShowCardsMessage.java b/tests/src/pokerth_protocol/AllInShowCardsMessage.java new file mode 100644 index 00000000..e28e39c4 --- /dev/null +++ b/tests/src/pokerth_protocol/AllInShowCardsMessage.java @@ -0,0 +1,121 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "AllInShowCardsMessage" ) + public class AllInShowCardsMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "AllInShowCardsMessage" , isSet = false ) + public static class AllInShowCardsMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "gameId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId gameId = null; + + +@ASN1SequenceOf( name = "playersAllIn", isSetOf = false ) + + @ASN1ValueRangeConstraint ( + + min = 1L, + + max = 10L + + ) + + @ASN1Element ( name = "playersAllIn", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private java.util.Collection playersAllIn = null; + + + + public NonZeroId getGameId () { + return this.gameId; + } + + + + public void setGameId (NonZeroId value) { + this.gameId = value; + } + + + + public java.util.Collection getPlayersAllIn () { + return this.playersAllIn; + } + + + + public void setPlayersAllIn (java.util.Collection value) { + this.playersAllIn = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_AllInShowCardsMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_AllInShowCardsMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(AllInShowCardsMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "AllInShowCardsMessage", isOptional = false , hasTag = true, tag = 31, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private AllInShowCardsMessageSequenceType value; + + + + public AllInShowCardsMessage () { + } + + + + public void setValue(AllInShowCardsMessageSequenceType value) { + this.value = value; + } + + + + public AllInShowCardsMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(AllInShowCardsMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/AnnounceMessage.java b/tests/src/pokerth_protocol/AnnounceMessage.java new file mode 100644 index 00000000..010894e6 --- /dev/null +++ b/tests/src/pokerth_protocol/AnnounceMessage.java @@ -0,0 +1,223 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "AnnounceMessage" ) + public class AnnounceMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "AnnounceMessage" , isSet = false ) + public static class AnnounceMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "protocolVersion", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Version protocolVersion = null; + + + @ASN1Element ( name = "latestGameVersion", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Version latestGameVersion = null; + + @ASN1Integer( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 0L, + + max = 65535L + + ) + + @ASN1Element ( name = "latestBetaRevision", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Integer latestBetaRevision = null; + + + + @ASN1PreparedElement + @ASN1Enum ( + name = "ServerTypeEnumType" + ) + public static class ServerTypeEnumType implements IASN1PreparedElement { + public enum EnumType { + + @ASN1EnumItem ( name = "serverTypeLAN", hasTag = true , tag = 0 ) + serverTypeLAN , + @ASN1EnumItem ( name = "serverTypeInternetNoAuth", hasTag = true , tag = 1 ) + serverTypeInternetNoAuth , + @ASN1EnumItem ( name = "serverTypeInternetAuth", hasTag = true , tag = 2 ) + serverTypeInternetAuth , + } + + private EnumType value; + private Integer integerForm; + + public EnumType getValue() { + return this.value; + } + + public void setValue(EnumType value) { + this.value = value; + } + + public Integer getIntegerForm() { + return integerForm; + } + + public void setIntegerForm(Integer value) { + integerForm = value; + } + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(ServerTypeEnumType.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + } + + @ASN1Element ( name = "serverType", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private ServerTypeEnumType serverType = null; + + @ASN1Integer( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 0L, + + max = 65535L + + ) + + @ASN1Element ( name = "numPlayersOnServer", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Integer numPlayersOnServer = null; + + + + public Version getProtocolVersion () { + return this.protocolVersion; + } + + + + public void setProtocolVersion (Version value) { + this.protocolVersion = value; + } + + + + public Version getLatestGameVersion () { + return this.latestGameVersion; + } + + + + public void setLatestGameVersion (Version value) { + this.latestGameVersion = value; + } + + + + public Integer getLatestBetaRevision () { + return this.latestBetaRevision; + } + + + + public void setLatestBetaRevision (Integer value) { + this.latestBetaRevision = value; + } + + + + public ServerTypeEnumType getServerType () { + return this.serverType; + } + + + + public void setServerType (ServerTypeEnumType value) { + this.serverType = value; + } + + + + public Integer getNumPlayersOnServer () { + return this.numPlayersOnServer; + } + + + + public void setNumPlayersOnServer (Integer value) { + this.numPlayersOnServer = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_AnnounceMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_AnnounceMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(AnnounceMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "AnnounceMessage", isOptional = false , hasTag = true, tag = 0, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private AnnounceMessageSequenceType value; + + + + public AnnounceMessage () { + } + + + + public void setValue(AnnounceMessageSequenceType value) { + this.value = value; + } + + + + public AnnounceMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(AnnounceMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/AskKickDeniedMessage.java b/tests/src/pokerth_protocol/AskKickDeniedMessage.java new file mode 100644 index 00000000..816e0687 --- /dev/null +++ b/tests/src/pokerth_protocol/AskKickDeniedMessage.java @@ -0,0 +1,177 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "AskKickDeniedMessage" ) + public class AskKickDeniedMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "AskKickDeniedMessage" , isSet = false ) + public static class AskKickDeniedMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "gameId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId gameId = null; + + + @ASN1Element ( name = "playerId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId playerId = null; + + + + @ASN1PreparedElement + @ASN1Enum ( + name = "KickDeniedReasonEnumType" + ) + public static class KickDeniedReasonEnumType implements IASN1PreparedElement { + public enum EnumType { + + @ASN1EnumItem ( name = "kickDeniedInvalidGameState", hasTag = true , tag = 0 ) + kickDeniedInvalidGameState , + @ASN1EnumItem ( name = "kickDeniedNotPossible", hasTag = true , tag = 1 ) + kickDeniedNotPossible , + @ASN1EnumItem ( name = "kickDeniedTryAgainLater", hasTag = true , tag = 2 ) + kickDeniedTryAgainLater , + @ASN1EnumItem ( name = "kickDeniedAlreadyInProgress", hasTag = true , tag = 3 ) + kickDeniedAlreadyInProgress , + @ASN1EnumItem ( name = "kickDeniedInvalidPlayerId", hasTag = true , tag = 4 ) + kickDeniedInvalidPlayerId , + } + + private EnumType value; + private Integer integerForm; + + public EnumType getValue() { + return this.value; + } + + public void setValue(EnumType value) { + this.value = value; + } + + public Integer getIntegerForm() { + return integerForm; + } + + public void setIntegerForm(Integer value) { + integerForm = value; + } + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(KickDeniedReasonEnumType.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + } + + @ASN1Element ( name = "kickDeniedReason", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private KickDeniedReasonEnumType kickDeniedReason = null; + + + + public NonZeroId getGameId () { + return this.gameId; + } + + + + public void setGameId (NonZeroId value) { + this.gameId = value; + } + + + + public NonZeroId getPlayerId () { + return this.playerId; + } + + + + public void setPlayerId (NonZeroId value) { + this.playerId = value; + } + + + + public KickDeniedReasonEnumType getKickDeniedReason () { + return this.kickDeniedReason; + } + + + + public void setKickDeniedReason (KickDeniedReasonEnumType value) { + this.kickDeniedReason = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_AskKickDeniedMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_AskKickDeniedMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(AskKickDeniedMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "AskKickDeniedMessage", isOptional = false , hasTag = true, tag = 65, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private AskKickDeniedMessageSequenceType value; + + + + public AskKickDeniedMessage () { + } + + + + public void setValue(AskKickDeniedMessageSequenceType value) { + this.value = value; + } + + + + public AskKickDeniedMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(AskKickDeniedMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/AskKickPlayerMessage.java b/tests/src/pokerth_protocol/AskKickPlayerMessage.java new file mode 100644 index 00000000..e1e9276e --- /dev/null +++ b/tests/src/pokerth_protocol/AskKickPlayerMessage.java @@ -0,0 +1,111 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "AskKickPlayerMessage" ) + public class AskKickPlayerMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "AskKickPlayerMessage" , isSet = false ) + public static class AskKickPlayerMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "gameId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId gameId = null; + + + @ASN1Element ( name = "playerId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId playerId = null; + + + + public NonZeroId getGameId () { + return this.gameId; + } + + + + public void setGameId (NonZeroId value) { + this.gameId = value; + } + + + + public NonZeroId getPlayerId () { + return this.playerId; + } + + + + public void setPlayerId (NonZeroId value) { + this.playerId = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_AskKickPlayerMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_AskKickPlayerMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(AskKickPlayerMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "AskKickPlayerMessage", isOptional = false , hasTag = true, tag = 64, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private AskKickPlayerMessageSequenceType value; + + + + public AskKickPlayerMessage () { + } + + + + public void setValue(AskKickPlayerMessageSequenceType value) { + this.value = value; + } + + + + public AskKickPlayerMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(AskKickPlayerMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/AuthClientResponse.java b/tests/src/pokerth_protocol/AuthClientResponse.java new file mode 100644 index 00000000..a7fed0e7 --- /dev/null +++ b/tests/src/pokerth_protocol/AuthClientResponse.java @@ -0,0 +1,60 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "AuthClientResponse", isSet = false ) + public class AuthClientResponse implements IASN1PreparedElement { + @ASN1OctetString( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 1L, + + max = 256L + + ) + + @ASN1Element ( name = "clientResponse", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private byte[] clientResponse = null; + + + + public byte[] getClientResponse () { + return this.clientResponse; + } + + + + public void setClientResponse (byte[] value) { + this.clientResponse = value; + } + + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(AuthClientResponse.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/AuthMessage.java b/tests/src/pokerth_protocol/AuthMessage.java new file mode 100644 index 00000000..e13744ac --- /dev/null +++ b/tests/src/pokerth_protocol/AuthMessage.java @@ -0,0 +1,164 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "AuthMessage" ) + public class AuthMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Choice ( name = "AuthMessage" ) + public static class AuthMessageChoiceType implements IASN1PreparedElement { + + @ASN1Element ( name = "authServerChallenge", isOptional = false , hasTag = true, tag = 0 , hasDefaultValue = false ) + + private AuthServerChallenge authServerChallenge = null; + + + @ASN1Element ( name = "authClientResponse", isOptional = false , hasTag = true, tag = 1 , hasDefaultValue = false ) + + private AuthClientResponse authClientResponse = null; + + + @ASN1Element ( name = "authServerVerification", isOptional = false , hasTag = true, tag = 2 , hasDefaultValue = false ) + + private AuthServerVerification authServerVerification = null; + + + + public AuthServerChallenge getAuthServerChallenge () { + return this.authServerChallenge; + } + + public boolean isAuthServerChallengeSelected () { + return this.authServerChallenge != null; + } + + private void setAuthServerChallenge (AuthServerChallenge value) { + this.authServerChallenge = value; + } + + + public void selectAuthServerChallenge (AuthServerChallenge value) { + this.authServerChallenge = value; + + setAuthClientResponse(null); + + setAuthServerVerification(null); + + } + + + + + public AuthClientResponse getAuthClientResponse () { + return this.authClientResponse; + } + + public boolean isAuthClientResponseSelected () { + return this.authClientResponse != null; + } + + private void setAuthClientResponse (AuthClientResponse value) { + this.authClientResponse = value; + } + + + public void selectAuthClientResponse (AuthClientResponse value) { + this.authClientResponse = value; + + setAuthServerChallenge(null); + + setAuthServerVerification(null); + + } + + + + + public AuthServerVerification getAuthServerVerification () { + return this.authServerVerification; + } + + public boolean isAuthServerVerificationSelected () { + return this.authServerVerification != null; + } + + private void setAuthServerVerification (AuthServerVerification value) { + this.authServerVerification = value; + } + + + public void selectAuthServerVerification (AuthServerVerification value) { + this.authServerVerification = value; + + setAuthServerChallenge(null); + + setAuthClientResponse(null); + + } + + + + + public void initWithDefaults() { + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_AuthMessageChoiceType; + } + + private static IASN1PreparedElementData preparedData_AuthMessageChoiceType = CoderFactory.getInstance().newPreparedElementData(AuthMessageChoiceType.class); + + } + + + @ASN1Element ( name = "AuthMessage", isOptional = false , hasTag = true, tag = 2, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private AuthMessageChoiceType value; + + + + public AuthMessage () { + } + + + + public void setValue(AuthMessageChoiceType value) { + this.value = value; + } + + + + public AuthMessageChoiceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(AuthMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/AuthServerChallenge.java b/tests/src/pokerth_protocol/AuthServerChallenge.java new file mode 100644 index 00000000..eb52c352 --- /dev/null +++ b/tests/src/pokerth_protocol/AuthServerChallenge.java @@ -0,0 +1,60 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "AuthServerChallenge", isSet = false ) + public class AuthServerChallenge implements IASN1PreparedElement { + @ASN1OctetString( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 1L, + + max = 256L + + ) + + @ASN1Element ( name = "serverChallenge", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private byte[] serverChallenge = null; + + + + public byte[] getServerChallenge () { + return this.serverChallenge; + } + + + + public void setServerChallenge (byte[] value) { + this.serverChallenge = value; + } + + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(AuthServerChallenge.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/AuthServerVerification.java b/tests/src/pokerth_protocol/AuthServerVerification.java new file mode 100644 index 00000000..c1a3a22a --- /dev/null +++ b/tests/src/pokerth_protocol/AuthServerVerification.java @@ -0,0 +1,60 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "AuthServerVerification", isSet = false ) + public class AuthServerVerification implements IASN1PreparedElement { + @ASN1OctetString( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 1L, + + max = 256L + + ) + + @ASN1Element ( name = "serverVerification", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private byte[] serverVerification = null; + + + + public byte[] getServerVerification () { + return this.serverVerification; + } + + + + public void setServerVerification (byte[] value) { + this.serverVerification = value; + } + + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(AuthServerVerification.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/AuthenticatedLogin.java b/tests/src/pokerth_protocol/AuthenticatedLogin.java new file mode 100644 index 00000000..3ea422c8 --- /dev/null +++ b/tests/src/pokerth_protocol/AuthenticatedLogin.java @@ -0,0 +1,81 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "AuthenticatedLogin", isSet = false ) + public class AuthenticatedLogin implements IASN1PreparedElement { + @ASN1OctetString( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 1L, + + max = 256L + + ) + + @ASN1Element ( name = "clientUserData", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private byte[] clientUserData = null; + + + @ASN1Element ( name = "avatar", isOptional = true , hasTag = false , hasDefaultValue = false ) + + private AvatarHash avatar = null; + + + + public byte[] getClientUserData () { + return this.clientUserData; + } + + + + public void setClientUserData (byte[] value) { + this.clientUserData = value; + } + + + + public AvatarHash getAvatar () { + return this.avatar; + } + + + public boolean isAvatarPresent () { + return this.avatar != null; + } + + + public void setAvatar (AvatarHash value) { + this.avatar = value; + } + + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(AuthenticatedLogin.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/AvatarData.java b/tests/src/pokerth_protocol/AvatarData.java new file mode 100644 index 00000000..a60a7291 --- /dev/null +++ b/tests/src/pokerth_protocol/AvatarData.java @@ -0,0 +1,60 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "AvatarData", isSet = false ) + public class AvatarData implements IASN1PreparedElement { + @ASN1OctetString( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 1L, + + max = 256L + + ) + + @ASN1Element ( name = "avatarBlock", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private byte[] avatarBlock = null; + + + + public byte[] getAvatarBlock () { + return this.avatarBlock; + } + + + + public void setAvatarBlock (byte[] value) { + this.avatarBlock = value; + } + + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(AvatarData.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/AvatarEnd.java b/tests/src/pokerth_protocol/AvatarEnd.java new file mode 100644 index 00000000..8f43d0bc --- /dev/null +++ b/tests/src/pokerth_protocol/AvatarEnd.java @@ -0,0 +1,35 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "AvatarEnd", isSet = false ) + public class AvatarEnd implements IASN1PreparedElement { + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(AvatarEnd.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/AvatarHash.java b/tests/src/pokerth_protocol/AvatarHash.java new file mode 100644 index 00000000..d8f81af4 --- /dev/null +++ b/tests/src/pokerth_protocol/AvatarHash.java @@ -0,0 +1,61 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "AvatarHash" ) + public class AvatarHash implements IASN1PreparedElement { + + @ASN1OctetString( name = "AvatarHash" ) + + @ASN1SizeConstraint ( max = 16L ) + + private byte[] value = null; + + public AvatarHash() { + } + + public AvatarHash(byte[] value) { + this.value = value; + } + + public AvatarHash(BitString value) { + setValue(value); + } + + public void setValue(byte[] value) { + this.value = value; + } + + public void setValue(BitString btStr) { + this.value = btStr.getValue(); + } + + public byte[] getValue() { + return this.value; + } + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(AvatarHash.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/AvatarHeader.java b/tests/src/pokerth_protocol/AvatarHeader.java new file mode 100644 index 00000000..f6563f96 --- /dev/null +++ b/tests/src/pokerth_protocol/AvatarHeader.java @@ -0,0 +1,77 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "AvatarHeader", isSet = false ) + public class AvatarHeader implements IASN1PreparedElement { + + @ASN1Element ( name = "avatarType", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NetAvatarType avatarType = null; + + @ASN1Integer( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 32L, + + max = 30720L + + ) + + @ASN1Element ( name = "avatarSize", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Integer avatarSize = null; + + + + public NetAvatarType getAvatarType () { + return this.avatarType; + } + + + + public void setAvatarType (NetAvatarType value) { + this.avatarType = value; + } + + + + public Integer getAvatarSize () { + return this.avatarSize; + } + + + + public void setAvatarSize (Integer value) { + this.avatarSize = value; + } + + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(AvatarHeader.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/AvatarReplyMessage.java b/tests/src/pokerth_protocol/AvatarReplyMessage.java new file mode 100644 index 00000000..dfcf796c --- /dev/null +++ b/tests/src/pokerth_protocol/AvatarReplyMessage.java @@ -0,0 +1,257 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "AvatarReplyMessage" ) + public class AvatarReplyMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "AvatarReplyMessage" , isSet = false ) + public static class AvatarReplyMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "requestId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId requestId = null; + + + + @ASN1PreparedElement + @ASN1Choice ( name = "avatarResult" ) + public static class AvatarResultChoiceType implements IASN1PreparedElement { + + @ASN1Element ( name = "avatarHeader", isOptional = false , hasTag = true, tag = 0 , hasDefaultValue = false ) + + private AvatarHeader avatarHeader = null; + + + @ASN1Element ( name = "avatarData", isOptional = false , hasTag = true, tag = 1 , hasDefaultValue = false ) + + private AvatarData avatarData = null; + + + @ASN1Element ( name = "avatarEnd", isOptional = false , hasTag = true, tag = 2 , hasDefaultValue = false ) + + private AvatarEnd avatarEnd = null; + + + @ASN1Element ( name = "unknownAvatar", isOptional = false , hasTag = true, tag = 3 , hasDefaultValue = false ) + + private UnknownAvatar unknownAvatar = null; + + + + public AvatarHeader getAvatarHeader () { + return this.avatarHeader; + } + + public boolean isAvatarHeaderSelected () { + return this.avatarHeader != null; + } + + private void setAvatarHeader (AvatarHeader value) { + this.avatarHeader = value; + } + + + public void selectAvatarHeader (AvatarHeader value) { + this.avatarHeader = value; + + setAvatarData(null); + + setAvatarEnd(null); + + setUnknownAvatar(null); + + } + + + + + public AvatarData getAvatarData () { + return this.avatarData; + } + + public boolean isAvatarDataSelected () { + return this.avatarData != null; + } + + private void setAvatarData (AvatarData value) { + this.avatarData = value; + } + + + public void selectAvatarData (AvatarData value) { + this.avatarData = value; + + setAvatarHeader(null); + + setAvatarEnd(null); + + setUnknownAvatar(null); + + } + + + + + public AvatarEnd getAvatarEnd () { + return this.avatarEnd; + } + + public boolean isAvatarEndSelected () { + return this.avatarEnd != null; + } + + private void setAvatarEnd (AvatarEnd value) { + this.avatarEnd = value; + } + + + public void selectAvatarEnd (AvatarEnd value) { + this.avatarEnd = value; + + setAvatarHeader(null); + + setAvatarData(null); + + setUnknownAvatar(null); + + } + + + + + public UnknownAvatar getUnknownAvatar () { + return this.unknownAvatar; + } + + public boolean isUnknownAvatarSelected () { + return this.unknownAvatar != null; + } + + private void setUnknownAvatar (UnknownAvatar value) { + this.unknownAvatar = value; + } + + + public void selectUnknownAvatar (UnknownAvatar value) { + this.unknownAvatar = value; + + setAvatarHeader(null); + + setAvatarData(null); + + setAvatarEnd(null); + + } + + + + + public void initWithDefaults() { + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_AvatarResultChoiceType; + } + + private static IASN1PreparedElementData preparedData_AvatarResultChoiceType = CoderFactory.getInstance().newPreparedElementData(AvatarResultChoiceType.class); + + } + + + @ASN1Element ( name = "avatarResult", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private AvatarResultChoiceType avatarResult = null; + + + + public NonZeroId getRequestId () { + return this.requestId; + } + + + + public void setRequestId (NonZeroId value) { + this.requestId = value; + } + + + + public AvatarResultChoiceType getAvatarResult () { + return this.avatarResult; + } + + + + public void setAvatarResult (AvatarResultChoiceType value) { + this.avatarResult = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_AvatarReplyMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_AvatarReplyMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(AvatarReplyMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "AvatarReplyMessage", isOptional = false , hasTag = true, tag = 5, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private AvatarReplyMessageSequenceType value; + + + + public AvatarReplyMessage () { + } + + + + public void setValue(AvatarReplyMessageSequenceType value) { + this.value = value; + } + + + + public AvatarReplyMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(AvatarReplyMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/AvatarRequestMessage.java b/tests/src/pokerth_protocol/AvatarRequestMessage.java new file mode 100644 index 00000000..b86a77b9 --- /dev/null +++ b/tests/src/pokerth_protocol/AvatarRequestMessage.java @@ -0,0 +1,111 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "AvatarRequestMessage" ) + public class AvatarRequestMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "AvatarRequestMessage" , isSet = false ) + public static class AvatarRequestMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "requestId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId requestId = null; + + + @ASN1Element ( name = "avatar", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private AvatarHash avatar = null; + + + + public NonZeroId getRequestId () { + return this.requestId; + } + + + + public void setRequestId (NonZeroId value) { + this.requestId = value; + } + + + + public AvatarHash getAvatar () { + return this.avatar; + } + + + + public void setAvatar (AvatarHash value) { + this.avatar = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_AvatarRequestMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_AvatarRequestMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(AvatarRequestMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "AvatarRequestMessage", isOptional = false , hasTag = true, tag = 4, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private AvatarRequestMessageSequenceType value; + + + + public AvatarRequestMessage () { + } + + + + public void setValue(AvatarRequestMessageSequenceType value) { + this.value = value; + } + + + + public AvatarRequestMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(AvatarRequestMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/Card.java b/tests/src/pokerth_protocol/Card.java new file mode 100644 index 00000000..1e914394 --- /dev/null +++ b/tests/src/pokerth_protocol/Card.java @@ -0,0 +1,58 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "Card" ) + public class Card implements IASN1PreparedElement { + + @ASN1Integer( name = "Card" ) + @ASN1ValueRangeConstraint ( + + min = 0L, + + max = 51L + + ) + + private Integer value; + + public Card() { + } + + public Card(Integer value) { + this.value = value; + } + + public void setValue(Integer value) { + this.value = value; + } + + public Integer getValue() { + return this.value; + } + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(Card.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/ChatMessage.java b/tests/src/pokerth_protocol/ChatMessage.java new file mode 100644 index 00000000..a24c6699 --- /dev/null +++ b/tests/src/pokerth_protocol/ChatMessage.java @@ -0,0 +1,267 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "ChatMessage" ) + public class ChatMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "ChatMessage" , isSet = false ) + public static class ChatMessageSequenceType implements IASN1PreparedElement { + + + @ASN1PreparedElement + @ASN1Choice ( name = "chatType" ) + public static class ChatTypeChoiceType implements IASN1PreparedElement { + + @ASN1Element ( name = "chatTypeLobby", isOptional = false , hasTag = true, tag = 0 , hasDefaultValue = false ) + + private ChatTypeLobby chatTypeLobby = null; + + + @ASN1Element ( name = "chatTypeGame", isOptional = false , hasTag = true, tag = 1 , hasDefaultValue = false ) + + private ChatTypeGame chatTypeGame = null; + + + @ASN1Element ( name = "chatTypeBot", isOptional = false , hasTag = true, tag = 2 , hasDefaultValue = false ) + + private ChatTypeBot chatTypeBot = null; + + + @ASN1Element ( name = "chatTypeBroadcast", isOptional = false , hasTag = true, tag = 3 , hasDefaultValue = false ) + + private ChatTypeBroadcast chatTypeBroadcast = null; + + + + public ChatTypeLobby getChatTypeLobby () { + return this.chatTypeLobby; + } + + public boolean isChatTypeLobbySelected () { + return this.chatTypeLobby != null; + } + + private void setChatTypeLobby (ChatTypeLobby value) { + this.chatTypeLobby = value; + } + + + public void selectChatTypeLobby (ChatTypeLobby value) { + this.chatTypeLobby = value; + + setChatTypeGame(null); + + setChatTypeBot(null); + + setChatTypeBroadcast(null); + + } + + + + + public ChatTypeGame getChatTypeGame () { + return this.chatTypeGame; + } + + public boolean isChatTypeGameSelected () { + return this.chatTypeGame != null; + } + + private void setChatTypeGame (ChatTypeGame value) { + this.chatTypeGame = value; + } + + + public void selectChatTypeGame (ChatTypeGame value) { + this.chatTypeGame = value; + + setChatTypeLobby(null); + + setChatTypeBot(null); + + setChatTypeBroadcast(null); + + } + + + + + public ChatTypeBot getChatTypeBot () { + return this.chatTypeBot; + } + + public boolean isChatTypeBotSelected () { + return this.chatTypeBot != null; + } + + private void setChatTypeBot (ChatTypeBot value) { + this.chatTypeBot = value; + } + + + public void selectChatTypeBot (ChatTypeBot value) { + this.chatTypeBot = value; + + setChatTypeLobby(null); + + setChatTypeGame(null); + + setChatTypeBroadcast(null); + + } + + + + + public ChatTypeBroadcast getChatTypeBroadcast () { + return this.chatTypeBroadcast; + } + + public boolean isChatTypeBroadcastSelected () { + return this.chatTypeBroadcast != null; + } + + private void setChatTypeBroadcast (ChatTypeBroadcast value) { + this.chatTypeBroadcast = value; + } + + + public void selectChatTypeBroadcast (ChatTypeBroadcast value) { + this.chatTypeBroadcast = value; + + setChatTypeLobby(null); + + setChatTypeGame(null); + + setChatTypeBot(null); + + } + + + + + public void initWithDefaults() { + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_ChatTypeChoiceType; + } + + private static IASN1PreparedElementData preparedData_ChatTypeChoiceType = CoderFactory.getInstance().newPreparedElementData(ChatTypeChoiceType.class); + + } + + + @ASN1Element ( name = "chatType", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private ChatTypeChoiceType chatType = null; + + + @ASN1String( name = "", + stringType = UniversalTag.UTF8String , isUCS = false ) + @ASN1ValueRangeConstraint ( + + min = 1L, + + max = 128L + + ) + + @ASN1Element ( name = "chatText", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private String chatText = null; + + + + public ChatTypeChoiceType getChatType () { + return this.chatType; + } + + + + public void setChatType (ChatTypeChoiceType value) { + this.chatType = value; + } + + + + public String getChatText () { + return this.chatText; + } + + + + public void setChatText (String value) { + this.chatText = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_ChatMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_ChatMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(ChatMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "ChatMessage", isOptional = false , hasTag = true, tag = 130, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private ChatMessageSequenceType value; + + + + public ChatMessage () { + } + + + + public void setValue(ChatMessageSequenceType value) { + this.value = value; + } + + + + public ChatMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(ChatMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/ChatRequestMessage.java b/tests/src/pokerth_protocol/ChatRequestMessage.java new file mode 100644 index 00000000..caea3b7c --- /dev/null +++ b/tests/src/pokerth_protocol/ChatRequestMessage.java @@ -0,0 +1,195 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "ChatRequestMessage" ) + public class ChatRequestMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "ChatRequestMessage" , isSet = false ) + public static class ChatRequestMessageSequenceType implements IASN1PreparedElement { + + + @ASN1PreparedElement + @ASN1Choice ( name = "chatRequestType" ) + public static class ChatRequestTypeChoiceType implements IASN1PreparedElement { + + @ASN1Element ( name = "chatRequestTypeLobby", isOptional = false , hasTag = true, tag = 0 , hasDefaultValue = false ) + + private ChatRequestTypeLobby chatRequestTypeLobby = null; + + + @ASN1Element ( name = "chatRequestTypeGame", isOptional = false , hasTag = true, tag = 1 , hasDefaultValue = false ) + + private ChatRequestTypeGame chatRequestTypeGame = null; + + + + public ChatRequestTypeLobby getChatRequestTypeLobby () { + return this.chatRequestTypeLobby; + } + + public boolean isChatRequestTypeLobbySelected () { + return this.chatRequestTypeLobby != null; + } + + private void setChatRequestTypeLobby (ChatRequestTypeLobby value) { + this.chatRequestTypeLobby = value; + } + + + public void selectChatRequestTypeLobby (ChatRequestTypeLobby value) { + this.chatRequestTypeLobby = value; + + setChatRequestTypeGame(null); + + } + + + + + public ChatRequestTypeGame getChatRequestTypeGame () { + return this.chatRequestTypeGame; + } + + public boolean isChatRequestTypeGameSelected () { + return this.chatRequestTypeGame != null; + } + + private void setChatRequestTypeGame (ChatRequestTypeGame value) { + this.chatRequestTypeGame = value; + } + + + public void selectChatRequestTypeGame (ChatRequestTypeGame value) { + this.chatRequestTypeGame = value; + + setChatRequestTypeLobby(null); + + } + + + + + public void initWithDefaults() { + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_ChatRequestTypeChoiceType; + } + + private static IASN1PreparedElementData preparedData_ChatRequestTypeChoiceType = CoderFactory.getInstance().newPreparedElementData(ChatRequestTypeChoiceType.class); + + } + + + @ASN1Element ( name = "chatRequestType", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private ChatRequestTypeChoiceType chatRequestType = null; + + + @ASN1String( name = "", + stringType = UniversalTag.UTF8String , isUCS = false ) + @ASN1ValueRangeConstraint ( + + min = 1L, + + max = 128L + + ) + + @ASN1Element ( name = "chatText", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private String chatText = null; + + + + public ChatRequestTypeChoiceType getChatRequestType () { + return this.chatRequestType; + } + + + + public void setChatRequestType (ChatRequestTypeChoiceType value) { + this.chatRequestType = value; + } + + + + public String getChatText () { + return this.chatText; + } + + + + public void setChatText (String value) { + this.chatText = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_ChatRequestMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_ChatRequestMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(ChatRequestMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "ChatRequestMessage", isOptional = false , hasTag = true, tag = 129, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private ChatRequestMessageSequenceType value; + + + + public ChatRequestMessage () { + } + + + + public void setValue(ChatRequestMessageSequenceType value) { + this.value = value; + } + + + + public ChatRequestMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(ChatRequestMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/ChatRequestTypeGame.java b/tests/src/pokerth_protocol/ChatRequestTypeGame.java new file mode 100644 index 00000000..b8d95145 --- /dev/null +++ b/tests/src/pokerth_protocol/ChatRequestTypeGame.java @@ -0,0 +1,52 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "ChatRequestTypeGame", isSet = false ) + public class ChatRequestTypeGame implements IASN1PreparedElement { + + @ASN1Element ( name = "gameId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId gameId = null; + + + + public NonZeroId getGameId () { + return this.gameId; + } + + + + public void setGameId (NonZeroId value) { + this.gameId = value; + } + + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(ChatRequestTypeGame.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/ChatRequestTypeLobby.java b/tests/src/pokerth_protocol/ChatRequestTypeLobby.java new file mode 100644 index 00000000..083777af --- /dev/null +++ b/tests/src/pokerth_protocol/ChatRequestTypeLobby.java @@ -0,0 +1,35 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "ChatRequestTypeLobby", isSet = false ) + public class ChatRequestTypeLobby implements IASN1PreparedElement { + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(ChatRequestTypeLobby.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/ChatTypeBot.java b/tests/src/pokerth_protocol/ChatTypeBot.java new file mode 100644 index 00000000..d83aaf0b --- /dev/null +++ b/tests/src/pokerth_protocol/ChatTypeBot.java @@ -0,0 +1,35 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "ChatTypeBot", isSet = false ) + public class ChatTypeBot implements IASN1PreparedElement { + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(ChatTypeBot.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/ChatTypeBroadcast.java b/tests/src/pokerth_protocol/ChatTypeBroadcast.java new file mode 100644 index 00000000..d548de94 --- /dev/null +++ b/tests/src/pokerth_protocol/ChatTypeBroadcast.java @@ -0,0 +1,35 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "ChatTypeBroadcast", isSet = false ) + public class ChatTypeBroadcast implements IASN1PreparedElement { + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(ChatTypeBroadcast.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/ChatTypeGame.java b/tests/src/pokerth_protocol/ChatTypeGame.java new file mode 100644 index 00000000..567b5f65 --- /dev/null +++ b/tests/src/pokerth_protocol/ChatTypeGame.java @@ -0,0 +1,69 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "ChatTypeGame", isSet = false ) + public class ChatTypeGame implements IASN1PreparedElement { + + @ASN1Element ( name = "gameId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId gameId = null; + + + @ASN1Element ( name = "playerId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId playerId = null; + + + + public NonZeroId getGameId () { + return this.gameId; + } + + + + public void setGameId (NonZeroId value) { + this.gameId = value; + } + + + + public NonZeroId getPlayerId () { + return this.playerId; + } + + + + public void setPlayerId (NonZeroId value) { + this.playerId = value; + } + + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(ChatTypeGame.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/ChatTypeLobby.java b/tests/src/pokerth_protocol/ChatTypeLobby.java new file mode 100644 index 00000000..53861ed9 --- /dev/null +++ b/tests/src/pokerth_protocol/ChatTypeLobby.java @@ -0,0 +1,52 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "ChatTypeLobby", isSet = false ) + public class ChatTypeLobby implements IASN1PreparedElement { + + @ASN1Element ( name = "playerId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId playerId = null; + + + + public NonZeroId getPlayerId () { + return this.playerId; + } + + + + public void setPlayerId (NonZeroId value) { + this.playerId = value; + } + + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(ChatTypeLobby.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/DealFlopCardsMessage.java b/tests/src/pokerth_protocol/DealFlopCardsMessage.java new file mode 100644 index 00000000..21138a5e --- /dev/null +++ b/tests/src/pokerth_protocol/DealFlopCardsMessage.java @@ -0,0 +1,145 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "DealFlopCardsMessage" ) + public class DealFlopCardsMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "DealFlopCardsMessage" , isSet = false ) + public static class DealFlopCardsMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "gameId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId gameId = null; + + + @ASN1Element ( name = "flopCard1", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Card flopCard1 = null; + + + @ASN1Element ( name = "flopCard2", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Card flopCard2 = null; + + + @ASN1Element ( name = "flopCard3", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Card flopCard3 = null; + + + + public NonZeroId getGameId () { + return this.gameId; + } + + + + public void setGameId (NonZeroId value) { + this.gameId = value; + } + + + + public Card getFlopCard1 () { + return this.flopCard1; + } + + + + public void setFlopCard1 (Card value) { + this.flopCard1 = value; + } + + + + public Card getFlopCard2 () { + return this.flopCard2; + } + + + + public void setFlopCard2 (Card value) { + this.flopCard2 = value; + } + + + + public Card getFlopCard3 () { + return this.flopCard3; + } + + + + public void setFlopCard3 (Card value) { + this.flopCard3 = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_DealFlopCardsMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_DealFlopCardsMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(DealFlopCardsMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "DealFlopCardsMessage", isOptional = false , hasTag = true, tag = 28, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private DealFlopCardsMessageSequenceType value; + + + + public DealFlopCardsMessage () { + } + + + + public void setValue(DealFlopCardsMessageSequenceType value) { + this.value = value; + } + + + + public DealFlopCardsMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(DealFlopCardsMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/DealRiverCardMessage.java b/tests/src/pokerth_protocol/DealRiverCardMessage.java new file mode 100644 index 00000000..ff7f0a64 --- /dev/null +++ b/tests/src/pokerth_protocol/DealRiverCardMessage.java @@ -0,0 +1,111 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "DealRiverCardMessage" ) + public class DealRiverCardMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "DealRiverCardMessage" , isSet = false ) + public static class DealRiverCardMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "gameId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId gameId = null; + + + @ASN1Element ( name = "riverCard", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Card riverCard = null; + + + + public NonZeroId getGameId () { + return this.gameId; + } + + + + public void setGameId (NonZeroId value) { + this.gameId = value; + } + + + + public Card getRiverCard () { + return this.riverCard; + } + + + + public void setRiverCard (Card value) { + this.riverCard = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_DealRiverCardMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_DealRiverCardMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(DealRiverCardMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "DealRiverCardMessage", isOptional = false , hasTag = true, tag = 30, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private DealRiverCardMessageSequenceType value; + + + + public DealRiverCardMessage () { + } + + + + public void setValue(DealRiverCardMessageSequenceType value) { + this.value = value; + } + + + + public DealRiverCardMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(DealRiverCardMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/DealTurnCardMessage.java b/tests/src/pokerth_protocol/DealTurnCardMessage.java new file mode 100644 index 00000000..167541c8 --- /dev/null +++ b/tests/src/pokerth_protocol/DealTurnCardMessage.java @@ -0,0 +1,111 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "DealTurnCardMessage" ) + public class DealTurnCardMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "DealTurnCardMessage" , isSet = false ) + public static class DealTurnCardMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "gameId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId gameId = null; + + + @ASN1Element ( name = "turnCard", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Card turnCard = null; + + + + public NonZeroId getGameId () { + return this.gameId; + } + + + + public void setGameId (NonZeroId value) { + this.gameId = value; + } + + + + public Card getTurnCard () { + return this.turnCard; + } + + + + public void setTurnCard (Card value) { + this.turnCard = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_DealTurnCardMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_DealTurnCardMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(DealTurnCardMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "DealTurnCardMessage", isOptional = false , hasTag = true, tag = 29, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private DealTurnCardMessageSequenceType value; + + + + public DealTurnCardMessage () { + } + + + + public void setValue(DealTurnCardMessageSequenceType value) { + this.value = value; + } + + + + public DealTurnCardMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(DealTurnCardMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/DialogMessage.java b/tests/src/pokerth_protocol/DialogMessage.java new file mode 100644 index 00000000..7a3392f9 --- /dev/null +++ b/tests/src/pokerth_protocol/DialogMessage.java @@ -0,0 +1,104 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "DialogMessage" ) + public class DialogMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "DialogMessage" , isSet = false ) + public static class DialogMessageSequenceType implements IASN1PreparedElement { + + @ASN1String( name = "", + stringType = UniversalTag.UTF8String , isUCS = false ) + @ASN1ValueRangeConstraint ( + + min = 1L, + + max = 128L + + ) + + @ASN1Element ( name = "notificationText", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private String notificationText = null; + + + + public String getNotificationText () { + return this.notificationText; + } + + + + public void setNotificationText (String value) { + this.notificationText = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_DialogMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_DialogMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(DialogMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "DialogMessage", isOptional = false , hasTag = true, tag = 131, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private DialogMessageSequenceType value; + + + + public DialogMessage () { + } + + + + public void setValue(DialogMessageSequenceType value) { + this.value = value; + } + + + + public DialogMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(DialogMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/EncryptedCards.java b/tests/src/pokerth_protocol/EncryptedCards.java new file mode 100644 index 00000000..4b483ea7 --- /dev/null +++ b/tests/src/pokerth_protocol/EncryptedCards.java @@ -0,0 +1,60 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "EncryptedCards", isSet = false ) + public class EncryptedCards implements IASN1PreparedElement { + @ASN1OctetString( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 16L, + + max = 64L + + ) + + @ASN1Element ( name = "cardData", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private byte[] cardData = null; + + + + public byte[] getCardData () { + return this.cardData; + } + + + + public void setCardData (byte[] value) { + this.cardData = value; + } + + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(EncryptedCards.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/EndKickPetitionMessage.java b/tests/src/pokerth_protocol/EndKickPetitionMessage.java new file mode 100644 index 00000000..fc972617 --- /dev/null +++ b/tests/src/pokerth_protocol/EndKickPetitionMessage.java @@ -0,0 +1,243 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "EndKickPetitionMessage" ) + public class EndKickPetitionMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "EndKickPetitionMessage" , isSet = false ) + public static class EndKickPetitionMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "gameId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId gameId = null; + + + @ASN1Element ( name = "petitionId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId petitionId = null; + + @ASN1Integer( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 0L, + + max = 9L + + ) + + @ASN1Element ( name = "numVotesAgainstKicking", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Integer numVotesAgainstKicking = null; + + @ASN1Integer( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 1L, + + max = 9L + + ) + + @ASN1Element ( name = "numVotesInFavourOfKicking", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Integer numVotesInFavourOfKicking = null; + + @ASN1Boolean( name = "" ) + + @ASN1Element ( name = "resultPlayerKicked", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Boolean resultPlayerKicked = null; + + + + @ASN1PreparedElement + @ASN1Enum ( + name = "PetitionEndReasonEnumType" + ) + public static class PetitionEndReasonEnumType implements IASN1PreparedElement { + public enum EnumType { + + @ASN1EnumItem ( name = "petitionEndEnoughVotes", hasTag = true , tag = 0 ) + petitionEndEnoughVotes , + @ASN1EnumItem ( name = "petitionEndTooFewPlayers", hasTag = true , tag = 1 ) + petitionEndTooFewPlayers , + @ASN1EnumItem ( name = "petitionEndPlayerLeft", hasTag = true , tag = 2 ) + petitionEndPlayerLeft , + @ASN1EnumItem ( name = "petitionEndTimeout", hasTag = true , tag = 3 ) + petitionEndTimeout , + } + + private EnumType value; + private Integer integerForm; + + public EnumType getValue() { + return this.value; + } + + public void setValue(EnumType value) { + this.value = value; + } + + public Integer getIntegerForm() { + return integerForm; + } + + public void setIntegerForm(Integer value) { + integerForm = value; + } + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(PetitionEndReasonEnumType.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + } + + @ASN1Element ( name = "petitionEndReason", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private PetitionEndReasonEnumType petitionEndReason = null; + + + + public NonZeroId getGameId () { + return this.gameId; + } + + + + public void setGameId (NonZeroId value) { + this.gameId = value; + } + + + + public NonZeroId getPetitionId () { + return this.petitionId; + } + + + + public void setPetitionId (NonZeroId value) { + this.petitionId = value; + } + + + + public Integer getNumVotesAgainstKicking () { + return this.numVotesAgainstKicking; + } + + + + public void setNumVotesAgainstKicking (Integer value) { + this.numVotesAgainstKicking = value; + } + + + + public Integer getNumVotesInFavourOfKicking () { + return this.numVotesInFavourOfKicking; + } + + + + public void setNumVotesInFavourOfKicking (Integer value) { + this.numVotesInFavourOfKicking = value; + } + + + + public Boolean getResultPlayerKicked () { + return this.resultPlayerKicked; + } + + + + public void setResultPlayerKicked (Boolean value) { + this.resultPlayerKicked = value; + } + + + + public PetitionEndReasonEnumType getPetitionEndReason () { + return this.petitionEndReason; + } + + + + public void setPetitionEndReason (PetitionEndReasonEnumType value) { + this.petitionEndReason = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_EndKickPetitionMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_EndKickPetitionMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(EndKickPetitionMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "EndKickPetitionMessage", isOptional = false , hasTag = true, tag = 70, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private EndKickPetitionMessageSequenceType value; + + + + public EndKickPetitionMessage () { + } + + + + public void setValue(EndKickPetitionMessageSequenceType value) { + this.value = value; + } + + + + public EndKickPetitionMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(EndKickPetitionMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/EndOfGameMessage.java b/tests/src/pokerth_protocol/EndOfGameMessage.java new file mode 100644 index 00000000..cc387cb2 --- /dev/null +++ b/tests/src/pokerth_protocol/EndOfGameMessage.java @@ -0,0 +1,111 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "EndOfGameMessage" ) + public class EndOfGameMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "EndOfGameMessage" , isSet = false ) + public static class EndOfGameMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "gameId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId gameId = null; + + + @ASN1Element ( name = "winnerPlayerId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId winnerPlayerId = null; + + + + public NonZeroId getGameId () { + return this.gameId; + } + + + + public void setGameId (NonZeroId value) { + this.gameId = value; + } + + + + public NonZeroId getWinnerPlayerId () { + return this.winnerPlayerId; + } + + + + public void setWinnerPlayerId (NonZeroId value) { + this.winnerPlayerId = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_EndOfGameMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_EndOfGameMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(EndOfGameMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "EndOfGameMessage", isOptional = false , hasTag = true, tag = 35, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private EndOfGameMessageSequenceType value; + + + + public EndOfGameMessage () { + } + + + + public void setValue(EndOfGameMessageSequenceType value) { + this.value = value; + } + + + + public EndOfGameMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(EndOfGameMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/EndOfHandHideCards.java b/tests/src/pokerth_protocol/EndOfHandHideCards.java new file mode 100644 index 00000000..39536709 --- /dev/null +++ b/tests/src/pokerth_protocol/EndOfHandHideCards.java @@ -0,0 +1,102 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "EndOfHandHideCards", isSet = false ) + public class EndOfHandHideCards implements IASN1PreparedElement { + + @ASN1Element ( name = "playerId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId playerId = null; + + @ASN1Integer( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 0L, + + max = 10000000L + + ) + + @ASN1Element ( name = "moneyWon", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Integer moneyWon = null; + + @ASN1Integer( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 0L, + + max = 10000000L + + ) + + @ASN1Element ( name = "playerMoney", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Integer playerMoney = null; + + + + public NonZeroId getPlayerId () { + return this.playerId; + } + + + + public void setPlayerId (NonZeroId value) { + this.playerId = value; + } + + + + public Integer getMoneyWon () { + return this.moneyWon; + } + + + + public void setMoneyWon (Integer value) { + this.moneyWon = value; + } + + + + public Integer getPlayerMoney () { + return this.playerMoney; + } + + + + public void setPlayerMoney (Integer value) { + this.playerMoney = value; + } + + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(EndOfHandHideCards.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/EndOfHandMessage.java b/tests/src/pokerth_protocol/EndOfHandMessage.java new file mode 100644 index 00000000..fae44b5b --- /dev/null +++ b/tests/src/pokerth_protocol/EndOfHandMessage.java @@ -0,0 +1,185 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "EndOfHandMessage" ) + public class EndOfHandMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "EndOfHandMessage" , isSet = false ) + public static class EndOfHandMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "gameId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId gameId = null; + + + + @ASN1PreparedElement + @ASN1Choice ( name = "endOfHandType" ) + public static class EndOfHandTypeChoiceType implements IASN1PreparedElement { + + @ASN1Element ( name = "endOfHandShowCards", isOptional = false , hasTag = true, tag = 0 , hasDefaultValue = false ) + + private EndOfHandShowCards endOfHandShowCards = null; + + + @ASN1Element ( name = "endOfHandHideCards", isOptional = false , hasTag = true, tag = 1 , hasDefaultValue = false ) + + private EndOfHandHideCards endOfHandHideCards = null; + + + + public EndOfHandShowCards getEndOfHandShowCards () { + return this.endOfHandShowCards; + } + + public boolean isEndOfHandShowCardsSelected () { + return this.endOfHandShowCards != null; + } + + private void setEndOfHandShowCards (EndOfHandShowCards value) { + this.endOfHandShowCards = value; + } + + + public void selectEndOfHandShowCards (EndOfHandShowCards value) { + this.endOfHandShowCards = value; + + setEndOfHandHideCards(null); + + } + + + + + public EndOfHandHideCards getEndOfHandHideCards () { + return this.endOfHandHideCards; + } + + public boolean isEndOfHandHideCardsSelected () { + return this.endOfHandHideCards != null; + } + + private void setEndOfHandHideCards (EndOfHandHideCards value) { + this.endOfHandHideCards = value; + } + + + public void selectEndOfHandHideCards (EndOfHandHideCards value) { + this.endOfHandHideCards = value; + + setEndOfHandShowCards(null); + + } + + + + + public void initWithDefaults() { + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_EndOfHandTypeChoiceType; + } + + private static IASN1PreparedElementData preparedData_EndOfHandTypeChoiceType = CoderFactory.getInstance().newPreparedElementData(EndOfHandTypeChoiceType.class); + + } + + + @ASN1Element ( name = "endOfHandType", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private EndOfHandTypeChoiceType endOfHandType = null; + + + + public NonZeroId getGameId () { + return this.gameId; + } + + + + public void setGameId (NonZeroId value) { + this.gameId = value; + } + + + + public EndOfHandTypeChoiceType getEndOfHandType () { + return this.endOfHandType; + } + + + + public void setEndOfHandType (EndOfHandTypeChoiceType value) { + this.endOfHandType = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_EndOfHandMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_EndOfHandMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(EndOfHandMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "EndOfHandMessage", isOptional = false , hasTag = true, tag = 32, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private EndOfHandMessageSequenceType value; + + + + public EndOfHandMessage () { + } + + + + public void setValue(EndOfHandMessageSequenceType value) { + this.value = value; + } + + + + public EndOfHandMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(EndOfHandMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/EndOfHandShowCards.java b/tests/src/pokerth_protocol/EndOfHandShowCards.java new file mode 100644 index 00000000..9c216315 --- /dev/null +++ b/tests/src/pokerth_protocol/EndOfHandShowCards.java @@ -0,0 +1,62 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "EndOfHandShowCards", isSet = false ) + public class EndOfHandShowCards implements IASN1PreparedElement { + +@ASN1SequenceOf( name = "playerResults", isSetOf = false ) + + @ASN1ValueRangeConstraint ( + + min = 1L, + + max = 10L + + ) + + @ASN1Element ( name = "playerResults", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private java.util.Collection playerResults = null; + + + + public java.util.Collection getPlayerResults () { + return this.playerResults; + } + + + + public void setPlayerResults (java.util.Collection value) { + this.playerResults = value; + } + + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(EndOfHandShowCards.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/ErrorMessage.java b/tests/src/pokerth_protocol/ErrorMessage.java new file mode 100644 index 00000000..84c7c443 --- /dev/null +++ b/tests/src/pokerth_protocol/ErrorMessage.java @@ -0,0 +1,163 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "ErrorMessage" ) + public class ErrorMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "ErrorMessage" , isSet = false ) + public static class ErrorMessageSequenceType implements IASN1PreparedElement { + + + @ASN1PreparedElement + @ASN1Enum ( + name = "ErrorReasonEnumType" + ) + public static class ErrorReasonEnumType implements IASN1PreparedElement { + public enum EnumType { + + @ASN1EnumItem ( name = "errorReserved", hasTag = true , tag = 0 ) + errorReserved , + @ASN1EnumItem ( name = "errorInitVersionNotSupported", hasTag = true , tag = 1 ) + errorInitVersionNotSupported , + @ASN1EnumItem ( name = "errorInitServerFull", hasTag = true , tag = 2 ) + errorInitServerFull , + @ASN1EnumItem ( name = "errorInitAuthFailure", hasTag = true , tag = 3 ) + errorInitAuthFailure , + @ASN1EnumItem ( name = "errorInitPlayerNameInUse", hasTag = true , tag = 4 ) + errorInitPlayerNameInUse , + @ASN1EnumItem ( name = "errorInitInvalidPlayerName", hasTag = true , tag = 5 ) + errorInitInvalidPlayerName , + @ASN1EnumItem ( name = "errorInitServerMaintenance", hasTag = true , tag = 6 ) + errorInitServerMaintenance , + @ASN1EnumItem ( name = "errorInitBlocked", hasTag = true , tag = 7 ) + errorInitBlocked , + @ASN1EnumItem ( name = "errorAvatarTooLarge", hasTag = true , tag = 8 ) + errorAvatarTooLarge , + @ASN1EnumItem ( name = "errorInvalidPacket", hasTag = true , tag = 256 ) + errorInvalidPacket , + @ASN1EnumItem ( name = "errorInvalidState", hasTag = true , tag = 257 ) + errorInvalidState , + @ASN1EnumItem ( name = "errorKickedFromServer", hasTag = true , tag = 258 ) + errorKickedFromServer , + @ASN1EnumItem ( name = "errorBannedFromServer", hasTag = true , tag = 259 ) + errorBannedFromServer , + @ASN1EnumItem ( name = "errorBlockedByServer", hasTag = true , tag = 260 ) + errorBlockedByServer , + @ASN1EnumItem ( name = "errorSessionTimeout", hasTag = true , tag = 261 ) + errorSessionTimeout + } + + private EnumType value; + private Integer integerForm; + + public EnumType getValue() { + return this.value; + } + + public void setValue(EnumType value) { + this.value = value; + } + + public Integer getIntegerForm() { + return integerForm; + } + + public void setIntegerForm(Integer value) { + integerForm = value; + } + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(ErrorReasonEnumType.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + } + + @ASN1Element ( name = "errorReason", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private ErrorReasonEnumType errorReason = null; + + + + public ErrorReasonEnumType getErrorReason () { + return this.errorReason; + } + + + + public void setErrorReason (ErrorReasonEnumType value) { + this.errorReason = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_ErrorMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_ErrorMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(ErrorMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "ErrorMessage", isOptional = false , hasTag = true, tag = 255, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private ErrorMessageSequenceType value; + + + + public ErrorMessage () { + } + + + + public void setValue(ErrorMessageSequenceType value) { + this.value = value; + } + + + + public ErrorMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(ErrorMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/GameAdminChanged.java b/tests/src/pokerth_protocol/GameAdminChanged.java new file mode 100644 index 00000000..8dd702c9 --- /dev/null +++ b/tests/src/pokerth_protocol/GameAdminChanged.java @@ -0,0 +1,52 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "GameAdminChanged", isSet = false ) + public class GameAdminChanged implements IASN1PreparedElement { + + @ASN1Element ( name = "newAdminPlayerId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId newAdminPlayerId = null; + + + + public NonZeroId getNewAdminPlayerId () { + return this.newAdminPlayerId; + } + + + + public void setNewAdminPlayerId (NonZeroId value) { + this.newAdminPlayerId = value; + } + + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(GameAdminChanged.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/GameListAdminChanged.java b/tests/src/pokerth_protocol/GameListAdminChanged.java new file mode 100644 index 00000000..eaeb4fcc --- /dev/null +++ b/tests/src/pokerth_protocol/GameListAdminChanged.java @@ -0,0 +1,52 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "GameListAdminChanged", isSet = false ) + public class GameListAdminChanged implements IASN1PreparedElement { + + @ASN1Element ( name = "newAdminPlayerId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId newAdminPlayerId = null; + + + + public NonZeroId getNewAdminPlayerId () { + return this.newAdminPlayerId; + } + + + + public void setNewAdminPlayerId (NonZeroId value) { + this.newAdminPlayerId = value; + } + + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(GameListAdminChanged.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/GameListMessage.java b/tests/src/pokerth_protocol/GameListMessage.java new file mode 100644 index 00000000..3dd5ca11 --- /dev/null +++ b/tests/src/pokerth_protocol/GameListMessage.java @@ -0,0 +1,299 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "GameListMessage" ) + public class GameListMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "GameListMessage" , isSet = false ) + public static class GameListMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "gameId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId gameId = null; + + + + @ASN1PreparedElement + @ASN1Choice ( name = "gameListNotification" ) + public static class GameListNotificationChoiceType implements IASN1PreparedElement { + + @ASN1Element ( name = "gameListNew", isOptional = false , hasTag = true, tag = 0 , hasDefaultValue = false ) + + private GameListNew gameListNew = null; + + + @ASN1Element ( name = "gameListUpdate", isOptional = false , hasTag = true, tag = 1 , hasDefaultValue = false ) + + private GameListUpdate gameListUpdate = null; + + + @ASN1Element ( name = "gameListPlayerJoined", isOptional = false , hasTag = true, tag = 2 , hasDefaultValue = false ) + + private GameListPlayerJoined gameListPlayerJoined = null; + + + @ASN1Element ( name = "gameListPlayerLeft", isOptional = false , hasTag = true, tag = 3 , hasDefaultValue = false ) + + private GameListPlayerLeft gameListPlayerLeft = null; + + + @ASN1Element ( name = "gameListAdminChanged", isOptional = false , hasTag = true, tag = 4 , hasDefaultValue = false ) + + private GameListAdminChanged gameListAdminChanged = null; + + + + public GameListNew getGameListNew () { + return this.gameListNew; + } + + public boolean isGameListNewSelected () { + return this.gameListNew != null; + } + + private void setGameListNew (GameListNew value) { + this.gameListNew = value; + } + + + public void selectGameListNew (GameListNew value) { + this.gameListNew = value; + + setGameListUpdate(null); + + setGameListPlayerJoined(null); + + setGameListPlayerLeft(null); + + setGameListAdminChanged(null); + + } + + + + + public GameListUpdate getGameListUpdate () { + return this.gameListUpdate; + } + + public boolean isGameListUpdateSelected () { + return this.gameListUpdate != null; + } + + private void setGameListUpdate (GameListUpdate value) { + this.gameListUpdate = value; + } + + + public void selectGameListUpdate (GameListUpdate value) { + this.gameListUpdate = value; + + setGameListNew(null); + + setGameListPlayerJoined(null); + + setGameListPlayerLeft(null); + + setGameListAdminChanged(null); + + } + + + + + public GameListPlayerJoined getGameListPlayerJoined () { + return this.gameListPlayerJoined; + } + + public boolean isGameListPlayerJoinedSelected () { + return this.gameListPlayerJoined != null; + } + + private void setGameListPlayerJoined (GameListPlayerJoined value) { + this.gameListPlayerJoined = value; + } + + + public void selectGameListPlayerJoined (GameListPlayerJoined value) { + this.gameListPlayerJoined = value; + + setGameListNew(null); + + setGameListUpdate(null); + + setGameListPlayerLeft(null); + + setGameListAdminChanged(null); + + } + + + + + public GameListPlayerLeft getGameListPlayerLeft () { + return this.gameListPlayerLeft; + } + + public boolean isGameListPlayerLeftSelected () { + return this.gameListPlayerLeft != null; + } + + private void setGameListPlayerLeft (GameListPlayerLeft value) { + this.gameListPlayerLeft = value; + } + + + public void selectGameListPlayerLeft (GameListPlayerLeft value) { + this.gameListPlayerLeft = value; + + setGameListNew(null); + + setGameListUpdate(null); + + setGameListPlayerJoined(null); + + setGameListAdminChanged(null); + + } + + + + + public GameListAdminChanged getGameListAdminChanged () { + return this.gameListAdminChanged; + } + + public boolean isGameListAdminChangedSelected () { + return this.gameListAdminChanged != null; + } + + private void setGameListAdminChanged (GameListAdminChanged value) { + this.gameListAdminChanged = value; + } + + + public void selectGameListAdminChanged (GameListAdminChanged value) { + this.gameListAdminChanged = value; + + setGameListNew(null); + + setGameListUpdate(null); + + setGameListPlayerJoined(null); + + setGameListPlayerLeft(null); + + } + + + + + public void initWithDefaults() { + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_GameListNotificationChoiceType; + } + + private static IASN1PreparedElementData preparedData_GameListNotificationChoiceType = CoderFactory.getInstance().newPreparedElementData(GameListNotificationChoiceType.class); + + } + + + @ASN1Element ( name = "gameListNotification", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private GameListNotificationChoiceType gameListNotification = null; + + + + public NonZeroId getGameId () { + return this.gameId; + } + + + + public void setGameId (NonZeroId value) { + this.gameId = value; + } + + + + public GameListNotificationChoiceType getGameListNotification () { + return this.gameListNotification; + } + + + + public void setGameListNotification (GameListNotificationChoiceType value) { + this.gameListNotification = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_GameListMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_GameListMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(GameListMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "GameListMessage", isOptional = false , hasTag = true, tag = 7, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private GameListMessageSequenceType value; + + + + public GameListMessage () { + } + + + + public void setValue(GameListMessageSequenceType value) { + this.value = value; + } + + + + public GameListMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(GameListMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/GameListNew.java b/tests/src/pokerth_protocol/GameListNew.java new file mode 100644 index 00000000..dc8cbebb --- /dev/null +++ b/tests/src/pokerth_protocol/GameListNew.java @@ -0,0 +1,131 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "GameListNew", isSet = false ) + public class GameListNew implements IASN1PreparedElement { + + @ASN1Element ( name = "gameMode", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NetGameMode gameMode = null; + + @ASN1Boolean( name = "" ) + + @ASN1Element ( name = "isPrivate", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Boolean isPrivate = null; + + +@ASN1SequenceOf( name = "playerIds", isSetOf = false ) + + @ASN1ValueRangeConstraint ( + + min = 0L, + + max = 10L + + ) + + @ASN1Element ( name = "playerIds", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private java.util.Collection playerIds = null; + + + @ASN1Element ( name = "adminPlayerId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId adminPlayerId = null; + + + @ASN1Element ( name = "gameInfo", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NetGameInfo gameInfo = null; + + + + public NetGameMode getGameMode () { + return this.gameMode; + } + + + + public void setGameMode (NetGameMode value) { + this.gameMode = value; + } + + + + public Boolean getIsPrivate () { + return this.isPrivate; + } + + + + public void setIsPrivate (Boolean value) { + this.isPrivate = value; + } + + + + public java.util.Collection getPlayerIds () { + return this.playerIds; + } + + + + public void setPlayerIds (java.util.Collection value) { + this.playerIds = value; + } + + + + public NonZeroId getAdminPlayerId () { + return this.adminPlayerId; + } + + + + public void setAdminPlayerId (NonZeroId value) { + this.adminPlayerId = value; + } + + + + public NetGameInfo getGameInfo () { + return this.gameInfo; + } + + + + public void setGameInfo (NetGameInfo value) { + this.gameInfo = value; + } + + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(GameListNew.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/GameListPlayerJoined.java b/tests/src/pokerth_protocol/GameListPlayerJoined.java new file mode 100644 index 00000000..f2a1507d --- /dev/null +++ b/tests/src/pokerth_protocol/GameListPlayerJoined.java @@ -0,0 +1,52 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "GameListPlayerJoined", isSet = false ) + public class GameListPlayerJoined implements IASN1PreparedElement { + + @ASN1Element ( name = "playerId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId playerId = null; + + + + public NonZeroId getPlayerId () { + return this.playerId; + } + + + + public void setPlayerId (NonZeroId value) { + this.playerId = value; + } + + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(GameListPlayerJoined.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/GameListPlayerLeft.java b/tests/src/pokerth_protocol/GameListPlayerLeft.java new file mode 100644 index 00000000..f73d088e --- /dev/null +++ b/tests/src/pokerth_protocol/GameListPlayerLeft.java @@ -0,0 +1,52 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "GameListPlayerLeft", isSet = false ) + public class GameListPlayerLeft implements IASN1PreparedElement { + + @ASN1Element ( name = "playerId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId playerId = null; + + + + public NonZeroId getPlayerId () { + return this.playerId; + } + + + + public void setPlayerId (NonZeroId value) { + this.playerId = value; + } + + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(GameListPlayerLeft.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/GameListUpdate.java b/tests/src/pokerth_protocol/GameListUpdate.java new file mode 100644 index 00000000..ec336662 --- /dev/null +++ b/tests/src/pokerth_protocol/GameListUpdate.java @@ -0,0 +1,52 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "GameListUpdate", isSet = false ) + public class GameListUpdate implements IASN1PreparedElement { + + @ASN1Element ( name = "gameMode", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NetGameMode gameMode = null; + + + + public NetGameMode getGameMode () { + return this.gameMode; + } + + + + public void setGameMode (NetGameMode value) { + this.gameMode = value; + } + + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(GameListUpdate.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/GamePlayerJoined.java b/tests/src/pokerth_protocol/GamePlayerJoined.java new file mode 100644 index 00000000..9fee1020 --- /dev/null +++ b/tests/src/pokerth_protocol/GamePlayerJoined.java @@ -0,0 +1,70 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "GamePlayerJoined", isSet = false ) + public class GamePlayerJoined implements IASN1PreparedElement { + + @ASN1Element ( name = "playerId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId playerId = null; + + @ASN1Boolean( name = "" ) + + @ASN1Element ( name = "isGameAdmin", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Boolean isGameAdmin = null; + + + + public NonZeroId getPlayerId () { + return this.playerId; + } + + + + public void setPlayerId (NonZeroId value) { + this.playerId = value; + } + + + + public Boolean getIsGameAdmin () { + return this.isGameAdmin; + } + + + + public void setIsGameAdmin (Boolean value) { + this.isGameAdmin = value; + } + + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(GamePlayerJoined.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/GamePlayerLeft.java b/tests/src/pokerth_protocol/GamePlayerLeft.java new file mode 100644 index 00000000..28342442 --- /dev/null +++ b/tests/src/pokerth_protocol/GamePlayerLeft.java @@ -0,0 +1,114 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "GamePlayerLeft", isSet = false ) + public class GamePlayerLeft implements IASN1PreparedElement { + + @ASN1Element ( name = "playerId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId playerId = null; + + + + @ASN1PreparedElement + @ASN1Enum ( + name = "GamePlayerLeftReasonEnumType" + ) + public static class GamePlayerLeftReasonEnumType implements IASN1PreparedElement { + public enum EnumType { + + @ASN1EnumItem ( name = "leftOnRequest", hasTag = true , tag = 0 ) + leftOnRequest , + @ASN1EnumItem ( name = "leftKicked", hasTag = true , tag = 1 ) + leftKicked , + @ASN1EnumItem ( name = "leftError", hasTag = true , tag = 2 ) + leftError , + } + + private EnumType value; + private Integer integerForm; + + public EnumType getValue() { + return this.value; + } + + public void setValue(EnumType value) { + this.value = value; + } + + public Integer getIntegerForm() { + return integerForm; + } + + public void setIntegerForm(Integer value) { + integerForm = value; + } + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(GamePlayerLeftReasonEnumType.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + } + + @ASN1Element ( name = "gamePlayerLeftReason", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private GamePlayerLeftReasonEnumType gamePlayerLeftReason = null; + + + + public NonZeroId getPlayerId () { + return this.playerId; + } + + + + public void setPlayerId (NonZeroId value) { + this.playerId = value; + } + + + + public GamePlayerLeftReasonEnumType getGamePlayerLeftReason () { + return this.gamePlayerLeftReason; + } + + + + public void setGamePlayerLeftReason (GamePlayerLeftReasonEnumType value) { + this.gamePlayerLeftReason = value; + } + + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(GamePlayerLeft.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/GamePlayerMessage.java b/tests/src/pokerth_protocol/GamePlayerMessage.java new file mode 100644 index 00000000..92b2fe9f --- /dev/null +++ b/tests/src/pokerth_protocol/GamePlayerMessage.java @@ -0,0 +1,257 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "GamePlayerMessage" ) + public class GamePlayerMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "GamePlayerMessage" , isSet = false ) + public static class GamePlayerMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "gameId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId gameId = null; + + + + @ASN1PreparedElement + @ASN1Choice ( name = "gamePlayerNotification" ) + public static class GamePlayerNotificationChoiceType implements IASN1PreparedElement { + + @ASN1Element ( name = "gamePlayerJoined", isOptional = false , hasTag = true, tag = 0 , hasDefaultValue = false ) + + private GamePlayerJoined gamePlayerJoined = null; + + + @ASN1Element ( name = "gamePlayerLeft", isOptional = false , hasTag = true, tag = 1 , hasDefaultValue = false ) + + private GamePlayerLeft gamePlayerLeft = null; + + + @ASN1Element ( name = "gameAdminChanged", isOptional = false , hasTag = true, tag = 2 , hasDefaultValue = false ) + + private GameAdminChanged gameAdminChanged = null; + + + @ASN1Element ( name = "removedFromGame", isOptional = false , hasTag = true, tag = 3 , hasDefaultValue = false ) + + private RemovedFromGame removedFromGame = null; + + + + public GamePlayerJoined getGamePlayerJoined () { + return this.gamePlayerJoined; + } + + public boolean isGamePlayerJoinedSelected () { + return this.gamePlayerJoined != null; + } + + private void setGamePlayerJoined (GamePlayerJoined value) { + this.gamePlayerJoined = value; + } + + + public void selectGamePlayerJoined (GamePlayerJoined value) { + this.gamePlayerJoined = value; + + setGamePlayerLeft(null); + + setGameAdminChanged(null); + + setRemovedFromGame(null); + + } + + + + + public GamePlayerLeft getGamePlayerLeft () { + return this.gamePlayerLeft; + } + + public boolean isGamePlayerLeftSelected () { + return this.gamePlayerLeft != null; + } + + private void setGamePlayerLeft (GamePlayerLeft value) { + this.gamePlayerLeft = value; + } + + + public void selectGamePlayerLeft (GamePlayerLeft value) { + this.gamePlayerLeft = value; + + setGamePlayerJoined(null); + + setGameAdminChanged(null); + + setRemovedFromGame(null); + + } + + + + + public GameAdminChanged getGameAdminChanged () { + return this.gameAdminChanged; + } + + public boolean isGameAdminChangedSelected () { + return this.gameAdminChanged != null; + } + + private void setGameAdminChanged (GameAdminChanged value) { + this.gameAdminChanged = value; + } + + + public void selectGameAdminChanged (GameAdminChanged value) { + this.gameAdminChanged = value; + + setGamePlayerJoined(null); + + setGamePlayerLeft(null); + + setRemovedFromGame(null); + + } + + + + + public RemovedFromGame getRemovedFromGame () { + return this.removedFromGame; + } + + public boolean isRemovedFromGameSelected () { + return this.removedFromGame != null; + } + + private void setRemovedFromGame (RemovedFromGame value) { + this.removedFromGame = value; + } + + + public void selectRemovedFromGame (RemovedFromGame value) { + this.removedFromGame = value; + + setGamePlayerJoined(null); + + setGamePlayerLeft(null); + + setGameAdminChanged(null); + + } + + + + + public void initWithDefaults() { + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_GamePlayerNotificationChoiceType; + } + + private static IASN1PreparedElementData preparedData_GamePlayerNotificationChoiceType = CoderFactory.getInstance().newPreparedElementData(GamePlayerNotificationChoiceType.class); + + } + + + @ASN1Element ( name = "gamePlayerNotification", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private GamePlayerNotificationChoiceType gamePlayerNotification = null; + + + + public NonZeroId getGameId () { + return this.gameId; + } + + + + public void setGameId (NonZeroId value) { + this.gameId = value; + } + + + + public GamePlayerNotificationChoiceType getGamePlayerNotification () { + return this.gamePlayerNotification; + } + + + + public void setGamePlayerNotification (GamePlayerNotificationChoiceType value) { + this.gamePlayerNotification = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_GamePlayerMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_GamePlayerMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(GamePlayerMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "GamePlayerMessage", isOptional = false , hasTag = true, tag = 13, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private GamePlayerMessageSequenceType value; + + + + public GamePlayerMessage () { + } + + + + public void setValue(GamePlayerMessageSequenceType value) { + this.value = value; + } + + + + public GamePlayerMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(GamePlayerMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/GameStartMessage.java b/tests/src/pokerth_protocol/GameStartMessage.java new file mode 100644 index 00000000..742e4428 --- /dev/null +++ b/tests/src/pokerth_protocol/GameStartMessage.java @@ -0,0 +1,138 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "GameStartMessage" ) + public class GameStartMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "GameStartMessage" , isSet = false ) + public static class GameStartMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "gameId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId gameId = null; + + + @ASN1Element ( name = "startDealerPlayerId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId startDealerPlayerId = null; + + +@ASN1SequenceOf( name = "playerSeats", isSetOf = false ) + + @ASN1ValueRangeConstraint ( + + min = 2L, + + max = 10L + + ) + + @ASN1Element ( name = "playerSeats", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private java.util.Collection playerSeats = null; + + + + public NonZeroId getGameId () { + return this.gameId; + } + + + + public void setGameId (NonZeroId value) { + this.gameId = value; + } + + + + public NonZeroId getStartDealerPlayerId () { + return this.startDealerPlayerId; + } + + + + public void setStartDealerPlayerId (NonZeroId value) { + this.startDealerPlayerId = value; + } + + + + public java.util.Collection getPlayerSeats () { + return this.playerSeats; + } + + + + public void setPlayerSeats (java.util.Collection value) { + this.playerSeats = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_GameStartMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_GameStartMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(GameStartMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "GameStartMessage", isOptional = false , hasTag = true, tag = 22, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private GameStartMessageSequenceType value; + + + + public GameStartMessage () { + } + + + + public void setValue(GameStartMessageSequenceType value) { + this.value = value; + } + + + + public GameStartMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(GameStartMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/GuestLogin.java b/tests/src/pokerth_protocol/GuestLogin.java new file mode 100644 index 00000000..bac1b872 --- /dev/null +++ b/tests/src/pokerth_protocol/GuestLogin.java @@ -0,0 +1,62 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "GuestLogin", isSet = false ) + public class GuestLogin implements IASN1PreparedElement { + + @ASN1String( name = "", + stringType = UniversalTag.UTF8String , isUCS = false ) + @ASN1ValueRangeConstraint ( + + min = 1L, + + max = 64L + + ) + + @ASN1Element ( name = "nickName", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private String nickName = null; + + + + public String getNickName () { + return this.nickName; + } + + + + public void setNickName (String value) { + this.nickName = value; + } + + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(GuestLogin.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/Guid.java b/tests/src/pokerth_protocol/Guid.java new file mode 100644 index 00000000..8dd7ffc2 --- /dev/null +++ b/tests/src/pokerth_protocol/Guid.java @@ -0,0 +1,58 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "Guid" ) + public class Guid implements IASN1PreparedElement { + + @ASN1Integer( name = "Guid" ) + @ASN1ValueRangeConstraint ( + + min = 0L, + + max = 4294967295L + + ) + + private Long value; + + public Guid() { + } + + public Guid(Long value) { + this.value = value; + } + + public void setValue(Long value) { + this.value = value; + } + + public Long getValue() { + return this.value; + } + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(Guid.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/HandStartMessage.java b/tests/src/pokerth_protocol/HandStartMessage.java new file mode 100644 index 00000000..f95e660f --- /dev/null +++ b/tests/src/pokerth_protocol/HandStartMessage.java @@ -0,0 +1,210 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "HandStartMessage" ) + public class HandStartMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "HandStartMessage" , isSet = false ) + public static class HandStartMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "gameId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId gameId = null; + + + + @ASN1PreparedElement + @ASN1Choice ( name = "yourCards" ) + public static class YourCardsChoiceType implements IASN1PreparedElement { + + @ASN1Element ( name = "plainCards", isOptional = false , hasTag = true, tag = 0 , hasDefaultValue = false ) + + private PlainCards plainCards = null; + + + @ASN1Element ( name = "encryptedCards", isOptional = false , hasTag = true, tag = 1 , hasDefaultValue = false ) + + private EncryptedCards encryptedCards = null; + + + + public PlainCards getPlainCards () { + return this.plainCards; + } + + public boolean isPlainCardsSelected () { + return this.plainCards != null; + } + + private void setPlainCards (PlainCards value) { + this.plainCards = value; + } + + + public void selectPlainCards (PlainCards value) { + this.plainCards = value; + + setEncryptedCards(null); + + } + + + + + public EncryptedCards getEncryptedCards () { + return this.encryptedCards; + } + + public boolean isEncryptedCardsSelected () { + return this.encryptedCards != null; + } + + private void setEncryptedCards (EncryptedCards value) { + this.encryptedCards = value; + } + + + public void selectEncryptedCards (EncryptedCards value) { + this.encryptedCards = value; + + setPlainCards(null); + + } + + + + + public void initWithDefaults() { + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_YourCardsChoiceType; + } + + private static IASN1PreparedElementData preparedData_YourCardsChoiceType = CoderFactory.getInstance().newPreparedElementData(YourCardsChoiceType.class); + + } + + + @ASN1Element ( name = "yourCards", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private YourCardsChoiceType yourCards = null; + + @ASN1Integer( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 1L, + + max = 100000000L + + ) + + @ASN1Element ( name = "smallBlind", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Integer smallBlind = null; + + + + public NonZeroId getGameId () { + return this.gameId; + } + + + + public void setGameId (NonZeroId value) { + this.gameId = value; + } + + + + public YourCardsChoiceType getYourCards () { + return this.yourCards; + } + + + + public void setYourCards (YourCardsChoiceType value) { + this.yourCards = value; + } + + + + public Integer getSmallBlind () { + return this.smallBlind; + } + + + + public void setSmallBlind (Integer value) { + this.smallBlind = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_HandStartMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_HandStartMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(HandStartMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "HandStartMessage", isOptional = false , hasTag = true, tag = 23, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private HandStartMessageSequenceType value; + + + + public HandStartMessage () { + } + + + + public void setValue(HandStartMessageSequenceType value) { + this.value = value; + } + + + + public HandStartMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(HandStartMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/Id.java b/tests/src/pokerth_protocol/Id.java new file mode 100644 index 00000000..83c67046 --- /dev/null +++ b/tests/src/pokerth_protocol/Id.java @@ -0,0 +1,58 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "Id" ) + public class Id implements IASN1PreparedElement { + + @ASN1Integer( name = "Id" ) + @ASN1ValueRangeConstraint ( + + min = 0L, + + max = 4294967295L + + ) + + private Long value; + + public Id() { + } + + public Id(Long value) { + this.value = value; + } + + public void setValue(Long value) { + this.value = value; + } + + public Long getValue() { + return this.value; + } + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(Id.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/InitAckMessage.java b/tests/src/pokerth_protocol/InitAckMessage.java new file mode 100644 index 00000000..e895d563 --- /dev/null +++ b/tests/src/pokerth_protocol/InitAckMessage.java @@ -0,0 +1,132 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "InitAckMessage" ) + public class InitAckMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "InitAckMessage" , isSet = false ) + public static class InitAckMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "yourSessionId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Guid yourSessionId = null; + + + @ASN1Element ( name = "yourPlayerId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId yourPlayerId = null; + + + @ASN1Element ( name = "yourAvatar", isOptional = true , hasTag = false , hasDefaultValue = false ) + + private AvatarHash yourAvatar = null; + + + + public Guid getYourSessionId () { + return this.yourSessionId; + } + + + + public void setYourSessionId (Guid value) { + this.yourSessionId = value; + } + + + + public NonZeroId getYourPlayerId () { + return this.yourPlayerId; + } + + + + public void setYourPlayerId (NonZeroId value) { + this.yourPlayerId = value; + } + + + + public AvatarHash getYourAvatar () { + return this.yourAvatar; + } + + + public boolean isYourAvatarPresent () { + return this.yourAvatar != null; + } + + + public void setYourAvatar (AvatarHash value) { + this.yourAvatar = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_InitAckMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_InitAckMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(InitAckMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "InitAckMessage", isOptional = false , hasTag = true, tag = 3, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private InitAckMessageSequenceType value; + + + + public InitAckMessage () { + } + + + + public void setValue(InitAckMessageSequenceType value) { + this.value = value; + } + + + + public InitAckMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(InitAckMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/InitMessage.java b/tests/src/pokerth_protocol/InitMessage.java new file mode 100644 index 00000000..865ce038 --- /dev/null +++ b/tests/src/pokerth_protocol/InitMessage.java @@ -0,0 +1,237 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "InitMessage" ) + public class InitMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "InitMessage" , isSet = false ) + public static class InitMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "requestedVersion", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Version requestedVersion = null; + + @ASN1Integer( name = "" ) + + @ASN1Element ( name = "buildId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Long buildId = null; + + + + @ASN1PreparedElement + @ASN1Choice ( name = "login" ) + public static class LoginChoiceType implements IASN1PreparedElement { + + @ASN1Element ( name = "guestLogin", isOptional = false , hasTag = true, tag = 0 , hasDefaultValue = false ) + + private GuestLogin guestLogin = null; + + + @ASN1Element ( name = "authenticatedLogin", isOptional = false , hasTag = true, tag = 1 , hasDefaultValue = false ) + + private AuthenticatedLogin authenticatedLogin = null; + + + @ASN1Element ( name = "unauthenticatedLogin", isOptional = false , hasTag = true, tag = 2 , hasDefaultValue = false ) + + private UnauthenticatedLogin unauthenticatedLogin = null; + + + + public GuestLogin getGuestLogin () { + return this.guestLogin; + } + + public boolean isGuestLoginSelected () { + return this.guestLogin != null; + } + + private void setGuestLogin (GuestLogin value) { + this.guestLogin = value; + } + + + public void selectGuestLogin (GuestLogin value) { + this.guestLogin = value; + + setAuthenticatedLogin(null); + + setUnauthenticatedLogin(null); + + } + + + + + public AuthenticatedLogin getAuthenticatedLogin () { + return this.authenticatedLogin; + } + + public boolean isAuthenticatedLoginSelected () { + return this.authenticatedLogin != null; + } + + private void setAuthenticatedLogin (AuthenticatedLogin value) { + this.authenticatedLogin = value; + } + + + public void selectAuthenticatedLogin (AuthenticatedLogin value) { + this.authenticatedLogin = value; + + setGuestLogin(null); + + setUnauthenticatedLogin(null); + + } + + + + + public UnauthenticatedLogin getUnauthenticatedLogin () { + return this.unauthenticatedLogin; + } + + public boolean isUnauthenticatedLoginSelected () { + return this.unauthenticatedLogin != null; + } + + private void setUnauthenticatedLogin (UnauthenticatedLogin value) { + this.unauthenticatedLogin = value; + } + + + public void selectUnauthenticatedLogin (UnauthenticatedLogin value) { + this.unauthenticatedLogin = value; + + setGuestLogin(null); + + setAuthenticatedLogin(null); + + } + + + + + public void initWithDefaults() { + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_LoginChoiceType; + } + + private static IASN1PreparedElementData preparedData_LoginChoiceType = CoderFactory.getInstance().newPreparedElementData(LoginChoiceType.class); + + } + + + @ASN1Element ( name = "login", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private LoginChoiceType login = null; + + + + public Version getRequestedVersion () { + return this.requestedVersion; + } + + + + public void setRequestedVersion (Version value) { + this.requestedVersion = value; + } + + + + public Long getBuildId () { + return this.buildId; + } + + + + public void setBuildId (Long value) { + this.buildId = value; + } + + + + public LoginChoiceType getLogin () { + return this.login; + } + + + + public void setLogin (LoginChoiceType value) { + this.login = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_InitMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_InitMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(InitMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "InitMessage", isOptional = false , hasTag = true, tag = 1, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private InitMessageSequenceType value; + + + + public InitMessage () { + } + + + + public void setValue(InitMessageSequenceType value) { + this.value = value; + } + + + + public InitMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(InitMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/InviteNotifyMessage.java b/tests/src/pokerth_protocol/InviteNotifyMessage.java new file mode 100644 index 00000000..474221f2 --- /dev/null +++ b/tests/src/pokerth_protocol/InviteNotifyMessage.java @@ -0,0 +1,128 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "InviteNotifyMessage" ) + public class InviteNotifyMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "InviteNotifyMessage" , isSet = false ) + public static class InviteNotifyMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "gameId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId gameId = null; + + + @ASN1Element ( name = "playerIdWho", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId playerIdWho = null; + + + @ASN1Element ( name = "playerIdByWhom", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId playerIdByWhom = null; + + + + public NonZeroId getGameId () { + return this.gameId; + } + + + + public void setGameId (NonZeroId value) { + this.gameId = value; + } + + + + public NonZeroId getPlayerIdWho () { + return this.playerIdWho; + } + + + + public void setPlayerIdWho (NonZeroId value) { + this.playerIdWho = value; + } + + + + public NonZeroId getPlayerIdByWhom () { + return this.playerIdByWhom; + } + + + + public void setPlayerIdByWhom (NonZeroId value) { + this.playerIdByWhom = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_InviteNotifyMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_InviteNotifyMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(InviteNotifyMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "InviteNotifyMessage", isOptional = false , hasTag = true, tag = 17, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private InviteNotifyMessageSequenceType value; + + + + public InviteNotifyMessage () { + } + + + + public void setValue(InviteNotifyMessageSequenceType value) { + this.value = value; + } + + + + public InviteNotifyMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(InviteNotifyMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/InvitePlayerToGameMessage.java b/tests/src/pokerth_protocol/InvitePlayerToGameMessage.java new file mode 100644 index 00000000..d9faa7e6 --- /dev/null +++ b/tests/src/pokerth_protocol/InvitePlayerToGameMessage.java @@ -0,0 +1,111 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "InvitePlayerToGameMessage" ) + public class InvitePlayerToGameMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "InvitePlayerToGameMessage" , isSet = false ) + public static class InvitePlayerToGameMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "gameId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId gameId = null; + + + @ASN1Element ( name = "playerId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId playerId = null; + + + + public NonZeroId getGameId () { + return this.gameId; + } + + + + public void setGameId (NonZeroId value) { + this.gameId = value; + } + + + + public NonZeroId getPlayerId () { + return this.playerId; + } + + + + public void setPlayerId (NonZeroId value) { + this.playerId = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_InvitePlayerToGameMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_InvitePlayerToGameMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(InvitePlayerToGameMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "InvitePlayerToGameMessage", isOptional = false , hasTag = true, tag = 16, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private InvitePlayerToGameMessageSequenceType value; + + + + public InvitePlayerToGameMessage () { + } + + + + public void setValue(InvitePlayerToGameMessageSequenceType value) { + this.value = value; + } + + + + public InvitePlayerToGameMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(InvitePlayerToGameMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/JoinExistingGame.java b/tests/src/pokerth_protocol/JoinExistingGame.java new file mode 100644 index 00000000..25046677 --- /dev/null +++ b/tests/src/pokerth_protocol/JoinExistingGame.java @@ -0,0 +1,52 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "JoinExistingGame", isSet = false ) + public class JoinExistingGame implements IASN1PreparedElement { + + @ASN1Element ( name = "gameId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId gameId = null; + + + + public NonZeroId getGameId () { + return this.gameId; + } + + + + public void setGameId (NonZeroId value) { + this.gameId = value; + } + + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(JoinExistingGame.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/JoinGameAck.java b/tests/src/pokerth_protocol/JoinGameAck.java new file mode 100644 index 00000000..899ee32f --- /dev/null +++ b/tests/src/pokerth_protocol/JoinGameAck.java @@ -0,0 +1,70 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "JoinGameAck", isSet = false ) + public class JoinGameAck implements IASN1PreparedElement { + @ASN1Boolean( name = "" ) + + @ASN1Element ( name = "areYouGameAdmin", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Boolean areYouGameAdmin = null; + + + @ASN1Element ( name = "gameInfo", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NetGameInfo gameInfo = null; + + + + public Boolean getAreYouGameAdmin () { + return this.areYouGameAdmin; + } + + + + public void setAreYouGameAdmin (Boolean value) { + this.areYouGameAdmin = value; + } + + + + public NetGameInfo getGameInfo () { + return this.gameInfo; + } + + + + public void setGameInfo (NetGameInfo value) { + this.gameInfo = value; + } + + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(JoinGameAck.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/JoinGameFailed.java b/tests/src/pokerth_protocol/JoinGameFailed.java new file mode 100644 index 00000000..5cf96fc0 --- /dev/null +++ b/tests/src/pokerth_protocol/JoinGameFailed.java @@ -0,0 +1,109 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "JoinGameFailed", isSet = false ) + public class JoinGameFailed implements IASN1PreparedElement { + + + @ASN1PreparedElement + @ASN1Enum ( + name = "JoinGameFailureReasonEnumType" + ) + public static class JoinGameFailureReasonEnumType implements IASN1PreparedElement { + public enum EnumType { + + @ASN1EnumItem ( name = "invalidGame", hasTag = true , tag = 1 ) + invalidGame , + @ASN1EnumItem ( name = "gameIsFull", hasTag = true , tag = 2 ) + gameIsFull , + @ASN1EnumItem ( name = "gameIsRunning", hasTag = true , tag = 3 ) + gameIsRunning , + @ASN1EnumItem ( name = "invalidPassword", hasTag = true , tag = 4 ) + invalidPassword , + @ASN1EnumItem ( name = "notAllowedAsGuest", hasTag = true , tag = 5 ) + notAllowedAsGuest , + @ASN1EnumItem ( name = "notInvited", hasTag = true , tag = 6 ) + notInvited , + @ASN1EnumItem ( name = "gameNameInUse", hasTag = true , tag = 7 ) + gameNameInUse , + @ASN1EnumItem ( name = "badGameName", hasTag = true , tag = 8 ) + badGameName , + @ASN1EnumItem ( name = "invalidSettings", hasTag = true , tag = 9 ) + invalidSettings , + } + + private EnumType value; + private Integer integerForm; + + public EnumType getValue() { + return this.value; + } + + public void setValue(EnumType value) { + this.value = value; + } + + public Integer getIntegerForm() { + return integerForm; + } + + public void setIntegerForm(Integer value) { + integerForm = value; + } + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(JoinGameFailureReasonEnumType.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + } + + @ASN1Element ( name = "joinGameFailureReason", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private JoinGameFailureReasonEnumType joinGameFailureReason = null; + + + + public JoinGameFailureReasonEnumType getJoinGameFailureReason () { + return this.joinGameFailureReason; + } + + + + public void setJoinGameFailureReason (JoinGameFailureReasonEnumType value) { + this.joinGameFailureReason = value; + } + + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(JoinGameFailed.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/JoinGameReplyMessage.java b/tests/src/pokerth_protocol/JoinGameReplyMessage.java new file mode 100644 index 00000000..893663c4 --- /dev/null +++ b/tests/src/pokerth_protocol/JoinGameReplyMessage.java @@ -0,0 +1,185 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "JoinGameReplyMessage" ) + public class JoinGameReplyMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "JoinGameReplyMessage" , isSet = false ) + public static class JoinGameReplyMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "gameId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId gameId = null; + + + + @ASN1PreparedElement + @ASN1Choice ( name = "joinGameResult" ) + public static class JoinGameResultChoiceType implements IASN1PreparedElement { + + @ASN1Element ( name = "joinGameAck", isOptional = false , hasTag = true, tag = 0 , hasDefaultValue = false ) + + private JoinGameAck joinGameAck = null; + + + @ASN1Element ( name = "joinGameFailed", isOptional = false , hasTag = true, tag = 1 , hasDefaultValue = false ) + + private JoinGameFailed joinGameFailed = null; + + + + public JoinGameAck getJoinGameAck () { + return this.joinGameAck; + } + + public boolean isJoinGameAckSelected () { + return this.joinGameAck != null; + } + + private void setJoinGameAck (JoinGameAck value) { + this.joinGameAck = value; + } + + + public void selectJoinGameAck (JoinGameAck value) { + this.joinGameAck = value; + + setJoinGameFailed(null); + + } + + + + + public JoinGameFailed getJoinGameFailed () { + return this.joinGameFailed; + } + + public boolean isJoinGameFailedSelected () { + return this.joinGameFailed != null; + } + + private void setJoinGameFailed (JoinGameFailed value) { + this.joinGameFailed = value; + } + + + public void selectJoinGameFailed (JoinGameFailed value) { + this.joinGameFailed = value; + + setJoinGameAck(null); + + } + + + + + public void initWithDefaults() { + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_JoinGameResultChoiceType; + } + + private static IASN1PreparedElementData preparedData_JoinGameResultChoiceType = CoderFactory.getInstance().newPreparedElementData(JoinGameResultChoiceType.class); + + } + + + @ASN1Element ( name = "joinGameResult", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private JoinGameResultChoiceType joinGameResult = null; + + + + public NonZeroId getGameId () { + return this.gameId; + } + + + + public void setGameId (NonZeroId value) { + this.gameId = value; + } + + + + public JoinGameResultChoiceType getJoinGameResult () { + return this.joinGameResult; + } + + + + public void setJoinGameResult (JoinGameResultChoiceType value) { + this.joinGameResult = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_JoinGameReplyMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_JoinGameReplyMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(JoinGameReplyMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "JoinGameReplyMessage", isOptional = false , hasTag = true, tag = 12, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private JoinGameReplyMessageSequenceType value; + + + + public JoinGameReplyMessage () { + } + + + + public void setValue(JoinGameReplyMessageSequenceType value) { + this.value = value; + } + + + + public JoinGameReplyMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(JoinGameReplyMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/JoinGameRequestMessage.java b/tests/src/pokerth_protocol/JoinGameRequestMessage.java new file mode 100644 index 00000000..d4667e33 --- /dev/null +++ b/tests/src/pokerth_protocol/JoinGameRequestMessage.java @@ -0,0 +1,199 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "JoinGameRequestMessage" ) + public class JoinGameRequestMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "JoinGameRequestMessage" , isSet = false ) + public static class JoinGameRequestMessageSequenceType implements IASN1PreparedElement { + + + @ASN1PreparedElement + @ASN1Choice ( name = "joinGameAction" ) + public static class JoinGameActionChoiceType implements IASN1PreparedElement { + + @ASN1Element ( name = "joinExistingGame", isOptional = false , hasTag = true, tag = 0 , hasDefaultValue = false ) + + private JoinExistingGame joinExistingGame = null; + + + @ASN1Element ( name = "joinNewGame", isOptional = false , hasTag = true, tag = 1 , hasDefaultValue = false ) + + private JoinNewGame joinNewGame = null; + + + + public JoinExistingGame getJoinExistingGame () { + return this.joinExistingGame; + } + + public boolean isJoinExistingGameSelected () { + return this.joinExistingGame != null; + } + + private void setJoinExistingGame (JoinExistingGame value) { + this.joinExistingGame = value; + } + + + public void selectJoinExistingGame (JoinExistingGame value) { + this.joinExistingGame = value; + + setJoinNewGame(null); + + } + + + + + public JoinNewGame getJoinNewGame () { + return this.joinNewGame; + } + + public boolean isJoinNewGameSelected () { + return this.joinNewGame != null; + } + + private void setJoinNewGame (JoinNewGame value) { + this.joinNewGame = value; + } + + + public void selectJoinNewGame (JoinNewGame value) { + this.joinNewGame = value; + + setJoinExistingGame(null); + + } + + + + + public void initWithDefaults() { + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_JoinGameActionChoiceType; + } + + private static IASN1PreparedElementData preparedData_JoinGameActionChoiceType = CoderFactory.getInstance().newPreparedElementData(JoinGameActionChoiceType.class); + + } + + + @ASN1Element ( name = "joinGameAction", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private JoinGameActionChoiceType joinGameAction = null; + + + @ASN1String( name = "", + stringType = UniversalTag.UTF8String , isUCS = false ) + @ASN1ValueRangeConstraint ( + + min = 1L, + + max = 64L + + ) + + @ASN1Element ( name = "password", isOptional = true , hasTag = false , hasDefaultValue = false ) + + private String password = null; + + + + public JoinGameActionChoiceType getJoinGameAction () { + return this.joinGameAction; + } + + + + public void setJoinGameAction (JoinGameActionChoiceType value) { + this.joinGameAction = value; + } + + + + public String getPassword () { + return this.password; + } + + + public boolean isPasswordPresent () { + return this.password != null; + } + + + public void setPassword (String value) { + this.password = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_JoinGameRequestMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_JoinGameRequestMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(JoinGameRequestMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "JoinGameRequestMessage", isOptional = false , hasTag = true, tag = 11, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private JoinGameRequestMessageSequenceType value; + + + + public JoinGameRequestMessage () { + } + + + + public void setValue(JoinGameRequestMessageSequenceType value) { + this.value = value; + } + + + + public JoinGameRequestMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(JoinGameRequestMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/JoinNewGame.java b/tests/src/pokerth_protocol/JoinNewGame.java new file mode 100644 index 00000000..b480c114 --- /dev/null +++ b/tests/src/pokerth_protocol/JoinNewGame.java @@ -0,0 +1,52 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "JoinNewGame", isSet = false ) + public class JoinNewGame implements IASN1PreparedElement { + + @ASN1Element ( name = "gameInfo", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NetGameInfo gameInfo = null; + + + + public NetGameInfo getGameInfo () { + return this.gameInfo; + } + + + + public void setGameInfo (NetGameInfo value) { + this.gameInfo = value; + } + + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(JoinNewGame.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/KickPetitionUpdateMessage.java b/tests/src/pokerth_protocol/KickPetitionUpdateMessage.java new file mode 100644 index 00000000..951aeeeb --- /dev/null +++ b/tests/src/pokerth_protocol/KickPetitionUpdateMessage.java @@ -0,0 +1,186 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "KickPetitionUpdateMessage" ) + public class KickPetitionUpdateMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "KickPetitionUpdateMessage" , isSet = false ) + public static class KickPetitionUpdateMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "gameId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId gameId = null; + + + @ASN1Element ( name = "petitionId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId petitionId = null; + + @ASN1Integer( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 0L, + + max = 9L + + ) + + @ASN1Element ( name = "numVotesAgainstKicking", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Integer numVotesAgainstKicking = null; + + @ASN1Integer( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 1L, + + max = 9L + + ) + + @ASN1Element ( name = "numVotesInFavourOfKicking", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Integer numVotesInFavourOfKicking = null; + + @ASN1Integer( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 1L, + + max = 9L + + ) + + @ASN1Element ( name = "numVotesNeededToKick", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Integer numVotesNeededToKick = null; + + + + public NonZeroId getGameId () { + return this.gameId; + } + + + + public void setGameId (NonZeroId value) { + this.gameId = value; + } + + + + public NonZeroId getPetitionId () { + return this.petitionId; + } + + + + public void setPetitionId (NonZeroId value) { + this.petitionId = value; + } + + + + public Integer getNumVotesAgainstKicking () { + return this.numVotesAgainstKicking; + } + + + + public void setNumVotesAgainstKicking (Integer value) { + this.numVotesAgainstKicking = value; + } + + + + public Integer getNumVotesInFavourOfKicking () { + return this.numVotesInFavourOfKicking; + } + + + + public void setNumVotesInFavourOfKicking (Integer value) { + this.numVotesInFavourOfKicking = value; + } + + + + public Integer getNumVotesNeededToKick () { + return this.numVotesNeededToKick; + } + + + + public void setNumVotesNeededToKick (Integer value) { + this.numVotesNeededToKick = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_KickPetitionUpdateMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_KickPetitionUpdateMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(KickPetitionUpdateMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "KickPetitionUpdateMessage", isOptional = false , hasTag = true, tag = 69, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private KickPetitionUpdateMessageSequenceType value; + + + + public KickPetitionUpdateMessage () { + } + + + + public void setValue(KickPetitionUpdateMessageSequenceType value) { + this.value = value; + } + + + + public KickPetitionUpdateMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(KickPetitionUpdateMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/KickPlayerRequestMessage.java b/tests/src/pokerth_protocol/KickPlayerRequestMessage.java new file mode 100644 index 00000000..2c785fb3 --- /dev/null +++ b/tests/src/pokerth_protocol/KickPlayerRequestMessage.java @@ -0,0 +1,111 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "KickPlayerRequestMessage" ) + public class KickPlayerRequestMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "KickPlayerRequestMessage" , isSet = false ) + public static class KickPlayerRequestMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "gameId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId gameId = null; + + + @ASN1Element ( name = "playerId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId playerId = null; + + + + public NonZeroId getGameId () { + return this.gameId; + } + + + + public void setGameId (NonZeroId value) { + this.gameId = value; + } + + + + public NonZeroId getPlayerId () { + return this.playerId; + } + + + + public void setPlayerId (NonZeroId value) { + this.playerId = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_KickPlayerRequestMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_KickPlayerRequestMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(KickPlayerRequestMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "KickPlayerRequestMessage", isOptional = false , hasTag = true, tag = 14, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private KickPlayerRequestMessageSequenceType value; + + + + public KickPlayerRequestMessage () { + } + + + + public void setValue(KickPlayerRequestMessageSequenceType value) { + this.value = value; + } + + + + public KickPlayerRequestMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(KickPlayerRequestMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/LeaveGameRequestMessage.java b/tests/src/pokerth_protocol/LeaveGameRequestMessage.java new file mode 100644 index 00000000..49eb7dda --- /dev/null +++ b/tests/src/pokerth_protocol/LeaveGameRequestMessage.java @@ -0,0 +1,94 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "LeaveGameRequestMessage" ) + public class LeaveGameRequestMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "LeaveGameRequestMessage" , isSet = false ) + public static class LeaveGameRequestMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "gameId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId gameId = null; + + + + public NonZeroId getGameId () { + return this.gameId; + } + + + + public void setGameId (NonZeroId value) { + this.gameId = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_LeaveGameRequestMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_LeaveGameRequestMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(LeaveGameRequestMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "LeaveGameRequestMessage", isOptional = false , hasTag = true, tag = 15, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private LeaveGameRequestMessageSequenceType value; + + + + public LeaveGameRequestMessage () { + } + + + + public void setValue(LeaveGameRequestMessageSequenceType value) { + this.value = value; + } + + + + public LeaveGameRequestMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(LeaveGameRequestMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/MyActionRequestMessage.java b/tests/src/pokerth_protocol/MyActionRequestMessage.java new file mode 100644 index 00000000..750f9f1a --- /dev/null +++ b/tests/src/pokerth_protocol/MyActionRequestMessage.java @@ -0,0 +1,170 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "MyActionRequestMessage" ) + public class MyActionRequestMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "MyActionRequestMessage" , isSet = false ) + public static class MyActionRequestMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "gameId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId gameId = null; + + + @ASN1Element ( name = "handNum", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId handNum = null; + + + @ASN1Element ( name = "gameState", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NetGameState gameState = null; + + + @ASN1Element ( name = "myAction", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NetPlayerAction myAction = null; + + @ASN1Integer( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 0L, + + max = 10000000L + + ) + + @ASN1Element ( name = "myRelativeBet", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Integer myRelativeBet = null; + + + + public NonZeroId getGameId () { + return this.gameId; + } + + + + public void setGameId (NonZeroId value) { + this.gameId = value; + } + + + + public NonZeroId getHandNum () { + return this.handNum; + } + + + + public void setHandNum (NonZeroId value) { + this.handNum = value; + } + + + + public NetGameState getGameState () { + return this.gameState; + } + + + + public void setGameState (NetGameState value) { + this.gameState = value; + } + + + + public NetPlayerAction getMyAction () { + return this.myAction; + } + + + + public void setMyAction (NetPlayerAction value) { + this.myAction = value; + } + + + + public Integer getMyRelativeBet () { + return this.myRelativeBet; + } + + + + public void setMyRelativeBet (Integer value) { + this.myRelativeBet = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_MyActionRequestMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_MyActionRequestMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(MyActionRequestMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "MyActionRequestMessage", isOptional = false , hasTag = true, tag = 25, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private MyActionRequestMessageSequenceType value; + + + + public MyActionRequestMessage () { + } + + + + public void setValue(MyActionRequestMessageSequenceType value) { + this.value = value; + } + + + + public MyActionRequestMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(MyActionRequestMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/NetAvatarType.java b/tests/src/pokerth_protocol/NetAvatarType.java new file mode 100644 index 00000000..acc41032 --- /dev/null +++ b/tests/src/pokerth_protocol/NetAvatarType.java @@ -0,0 +1,62 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Enum ( + name = "NetAvatarType" + ) + public class NetAvatarType implements IASN1PreparedElement { + public enum EnumType { + + @ASN1EnumItem ( name = "avatarImagePng", hasTag = true , tag = 1 ) + avatarImagePng , + @ASN1EnumItem ( name = "avatarImageJpg", hasTag = true , tag = 2 ) + avatarImageJpg , + @ASN1EnumItem ( name = "avatarImageGif", hasTag = true , tag = 3 ) + avatarImageGif , + } + + private EnumType value; + private Integer integerForm; + + public EnumType getValue() { + return this.value; + } + + public void setValue(EnumType value) { + this.value = value; + } + + public Integer getIntegerForm() { + return integerForm; + } + + public void setIntegerForm(Integer value) { + integerForm = value; + } + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(NetAvatarType.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/NetGameInfo.java b/tests/src/pokerth_protocol/NetGameInfo.java new file mode 100644 index 00000000..68dfc22c --- /dev/null +++ b/tests/src/pokerth_protocol/NetGameInfo.java @@ -0,0 +1,497 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "NetGameInfo", isSet = false ) + public class NetGameInfo implements IASN1PreparedElement { + + @ASN1String( name = "", + stringType = UniversalTag.UTF8String , isUCS = false ) + @ASN1ValueRangeConstraint ( + + min = 1L, + + max = 64L + + ) + + @ASN1Element ( name = "gameName", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private String gameName = null; + + + + @ASN1PreparedElement + @ASN1Enum ( + name = "NetGameTypeEnumType" + ) + public static class NetGameTypeEnumType implements IASN1PreparedElement { + public enum EnumType { + + @ASN1EnumItem ( name = "normalGame", hasTag = true , tag = 1 ) + normalGame , + @ASN1EnumItem ( name = "registeredOnlyGame", hasTag = true , tag = 2 ) + registeredOnlyGame , + @ASN1EnumItem ( name = "inviteOnlyGame", hasTag = true , tag = 3 ) + inviteOnlyGame , + @ASN1EnumItem ( name = "rankingGame", hasTag = true , tag = 4 ) + rankingGame , + } + + private EnumType value; + private Integer integerForm; + + public EnumType getValue() { + return this.value; + } + + public void setValue(EnumType value) { + this.value = value; + } + + public Integer getIntegerForm() { + return integerForm; + } + + public void setIntegerForm(Integer value) { + integerForm = value; + } + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(NetGameTypeEnumType.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + } + + @ASN1Element ( name = "netGameType", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NetGameTypeEnumType netGameType = null; + + @ASN1Integer( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 2L, + + max = 10L + + ) + + @ASN1Element ( name = "maxNumPlayers", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Integer maxNumPlayers = null; + + + + @ASN1PreparedElement + @ASN1Choice ( name = "raiseIntervalMode" ) + public static class RaiseIntervalModeChoiceType implements IASN1PreparedElement { + @ASN1Integer( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 1L, + + max = 1000L + + ) + + @ASN1Element ( name = "raiseEveryHands", isOptional = false , hasTag = true, tag = 0 , hasDefaultValue = false ) + + private Integer raiseEveryHands = null; + + @ASN1Integer( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 1L, + + max = 1000L + + ) + + @ASN1Element ( name = "raiseEveryMinutes", isOptional = false , hasTag = true, tag = 1 , hasDefaultValue = false ) + + private Integer raiseEveryMinutes = null; + + + + public Integer getRaiseEveryHands () { + return this.raiseEveryHands; + } + + public boolean isRaiseEveryHandsSelected () { + return this.raiseEveryHands != null; + } + + private void setRaiseEveryHands (Integer value) { + this.raiseEveryHands = value; + } + + + public void selectRaiseEveryHands (Integer value) { + this.raiseEveryHands = value; + + setRaiseEveryMinutes(null); + + } + + + + + public Integer getRaiseEveryMinutes () { + return this.raiseEveryMinutes; + } + + public boolean isRaiseEveryMinutesSelected () { + return this.raiseEveryMinutes != null; + } + + private void setRaiseEveryMinutes (Integer value) { + this.raiseEveryMinutes = value; + } + + + public void selectRaiseEveryMinutes (Integer value) { + this.raiseEveryMinutes = value; + + setRaiseEveryHands(null); + + } + + + + + public void initWithDefaults() { + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_RaiseIntervalModeChoiceType; + } + + private static IASN1PreparedElementData preparedData_RaiseIntervalModeChoiceType = CoderFactory.getInstance().newPreparedElementData(RaiseIntervalModeChoiceType.class); + + } + + + @ASN1Element ( name = "raiseIntervalMode", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private RaiseIntervalModeChoiceType raiseIntervalMode = null; + + + + @ASN1PreparedElement + @ASN1Enum ( + name = "EndRaiseModeEnumType" + ) + public static class EndRaiseModeEnumType implements IASN1PreparedElement { + public enum EnumType { + + @ASN1EnumItem ( name = "doubleBlinds", hasTag = true , tag = 1 ) + doubleBlinds , + @ASN1EnumItem ( name = "raiseByEndValue", hasTag = true , tag = 2 ) + raiseByEndValue , + @ASN1EnumItem ( name = "keepLastBlind", hasTag = true , tag = 3 ) + keepLastBlind , + } + + private EnumType value; + private Integer integerForm; + + public EnumType getValue() { + return this.value; + } + + public void setValue(EnumType value) { + this.value = value; + } + + public Integer getIntegerForm() { + return integerForm; + } + + public void setIntegerForm(Integer value) { + integerForm = value; + } + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(EndRaiseModeEnumType.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + } + + @ASN1Element ( name = "endRaiseMode", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private EndRaiseModeEnumType endRaiseMode = null; + + @ASN1Integer( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 1L, + + max = 11L + + ) + + @ASN1Element ( name = "proposedGuiSpeed", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Integer proposedGuiSpeed = null; + + @ASN1Integer( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 5L, + + max = 20L + + ) + + @ASN1Element ( name = "delayBetweenHands", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Integer delayBetweenHands = null; + + @ASN1Integer( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 5L, + + max = 60L + + ) + + @ASN1Element ( name = "playerActionTimeout", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Integer playerActionTimeout = null; + + @ASN1Integer( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 1L, + + max = 20000L + + ) + + @ASN1Element ( name = "firstSmallBlind", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Integer firstSmallBlind = null; + + @ASN1Integer( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 0L, + + max = 1000000L + + ) + + @ASN1Element ( name = "endRaiseSmallBlindValue", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Integer endRaiseSmallBlindValue = null; + + @ASN1Integer( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 1L, + + max = 1000000L + + ) + + @ASN1Element ( name = "startMoney", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Integer startMoney = null; + + @ASN1Integer( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 1L, + + max = 1000000L + + ) + +@ASN1SequenceOf( name = "manualBlinds", isSetOf = false ) + + @ASN1Element ( name = "manualBlinds", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private java.util.Collection manualBlinds = null; + + + + public String getGameName () { + return this.gameName; + } + + + + public void setGameName (String value) { + this.gameName = value; + } + + + + public NetGameTypeEnumType getNetGameType () { + return this.netGameType; + } + + + + public void setNetGameType (NetGameTypeEnumType value) { + this.netGameType = value; + } + + + + public Integer getMaxNumPlayers () { + return this.maxNumPlayers; + } + + + + public void setMaxNumPlayers (Integer value) { + this.maxNumPlayers = value; + } + + + + public RaiseIntervalModeChoiceType getRaiseIntervalMode () { + return this.raiseIntervalMode; + } + + + + public void setRaiseIntervalMode (RaiseIntervalModeChoiceType value) { + this.raiseIntervalMode = value; + } + + + + public EndRaiseModeEnumType getEndRaiseMode () { + return this.endRaiseMode; + } + + + + public void setEndRaiseMode (EndRaiseModeEnumType value) { + this.endRaiseMode = value; + } + + + + public Integer getProposedGuiSpeed () { + return this.proposedGuiSpeed; + } + + + + public void setProposedGuiSpeed (Integer value) { + this.proposedGuiSpeed = value; + } + + + + public Integer getDelayBetweenHands () { + return this.delayBetweenHands; + } + + + + public void setDelayBetweenHands (Integer value) { + this.delayBetweenHands = value; + } + + + + public Integer getPlayerActionTimeout () { + return this.playerActionTimeout; + } + + + + public void setPlayerActionTimeout (Integer value) { + this.playerActionTimeout = value; + } + + + + public Integer getFirstSmallBlind () { + return this.firstSmallBlind; + } + + + + public void setFirstSmallBlind (Integer value) { + this.firstSmallBlind = value; + } + + + + public Integer getEndRaiseSmallBlindValue () { + return this.endRaiseSmallBlindValue; + } + + + + public void setEndRaiseSmallBlindValue (Integer value) { + this.endRaiseSmallBlindValue = value; + } + + + + public Integer getStartMoney () { + return this.startMoney; + } + + + + public void setStartMoney (Integer value) { + this.startMoney = value; + } + + + + public java.util.Collection getManualBlinds () { + return this.manualBlinds; + } + + + + public void setManualBlinds (java.util.Collection value) { + this.manualBlinds = value; + } + + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(NetGameInfo.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/NetGameMode.java b/tests/src/pokerth_protocol/NetGameMode.java new file mode 100644 index 00000000..8ae8a3ea --- /dev/null +++ b/tests/src/pokerth_protocol/NetGameMode.java @@ -0,0 +1,62 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Enum ( + name = "NetGameMode" + ) + public class NetGameMode implements IASN1PreparedElement { + public enum EnumType { + + @ASN1EnumItem ( name = "gameCreated", hasTag = true , tag = 1 ) + gameCreated , + @ASN1EnumItem ( name = "gameStarted", hasTag = true , tag = 2 ) + gameStarted , + @ASN1EnumItem ( name = "gameClosed", hasTag = true , tag = 3 ) + gameClosed , + } + + private EnumType value; + private Integer integerForm; + + public EnumType getValue() { + return this.value; + } + + public void setValue(EnumType value) { + this.value = value; + } + + public Integer getIntegerForm() { + return integerForm; + } + + public void setIntegerForm(Integer value) { + integerForm = value; + } + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(NetGameMode.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/NetGameState.java b/tests/src/pokerth_protocol/NetGameState.java new file mode 100644 index 00000000..8ef393dd --- /dev/null +++ b/tests/src/pokerth_protocol/NetGameState.java @@ -0,0 +1,68 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Enum ( + name = "NetGameState" + ) + public class NetGameState implements IASN1PreparedElement { + public enum EnumType { + + @ASN1EnumItem ( name = "statePreflop", hasTag = true , tag = 0 ) + statePreflop , + @ASN1EnumItem ( name = "stateFlop", hasTag = true , tag = 1 ) + stateFlop , + @ASN1EnumItem ( name = "stateTurn", hasTag = true , tag = 2 ) + stateTurn , + @ASN1EnumItem ( name = "stateRiver", hasTag = true , tag = 3 ) + stateRiver , + @ASN1EnumItem ( name = "statePreflopSmallBlind", hasTag = true , tag = 4 ) + statePreflopSmallBlind , + @ASN1EnumItem ( name = "statePreflopBigBlind", hasTag = true , tag = 5 ) + statePreflopBigBlind , + } + + private EnumType value; + private Integer integerForm; + + public EnumType getValue() { + return this.value; + } + + public void setValue(EnumType value) { + this.value = value; + } + + public Integer getIntegerForm() { + return integerForm; + } + + public void setIntegerForm(Integer value) { + integerForm = value; + } + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(NetGameState.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/NetPlayerAction.java b/tests/src/pokerth_protocol/NetPlayerAction.java new file mode 100644 index 00000000..73661afc --- /dev/null +++ b/tests/src/pokerth_protocol/NetPlayerAction.java @@ -0,0 +1,70 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Enum ( + name = "NetPlayerAction" + ) + public class NetPlayerAction implements IASN1PreparedElement { + public enum EnumType { + + @ASN1EnumItem ( name = "actionNone", hasTag = true , tag = 0 ) + actionNone , + @ASN1EnumItem ( name = "actionFold", hasTag = true , tag = 1 ) + actionFold , + @ASN1EnumItem ( name = "actionCheck", hasTag = true , tag = 2 ) + actionCheck , + @ASN1EnumItem ( name = "actionCall", hasTag = true , tag = 3 ) + actionCall , + @ASN1EnumItem ( name = "actionBet", hasTag = true , tag = 4 ) + actionBet , + @ASN1EnumItem ( name = "actionRaise", hasTag = true , tag = 5 ) + actionRaise , + @ASN1EnumItem ( name = "actionAllIn", hasTag = true , tag = 6 ) + actionAllIn , + } + + private EnumType value; + private Integer integerForm; + + public EnumType getValue() { + return this.value; + } + + public void setValue(EnumType value) { + this.value = value; + } + + public Integer getIntegerForm() { + return integerForm; + } + + public void setIntegerForm(Integer value) { + integerForm = value; + } + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(NetPlayerAction.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/NonZeroId.java b/tests/src/pokerth_protocol/NonZeroId.java new file mode 100644 index 00000000..bbe693d7 --- /dev/null +++ b/tests/src/pokerth_protocol/NonZeroId.java @@ -0,0 +1,58 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "NonZeroId" ) + public class NonZeroId implements IASN1PreparedElement { + + @ASN1Integer( name = "NonZeroId" ) + @ASN1ValueRangeConstraint ( + + min = 1L, + + max = 4294967295L + + ) + + private Long value; + + public NonZeroId() { + } + + public NonZeroId(Long value) { + this.value = value; + } + + public void setValue(Long value) { + this.value = value; + } + + public Long getValue() { + return this.value; + } + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(NonZeroId.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/POKERTH_PROTOCOL.java b/tests/src/pokerth_protocol/POKERTH_PROTOCOL.java new file mode 100644 index 00000000..81169f01 --- /dev/null +++ b/tests/src/pokerth_protocol/POKERTH_PROTOCOL.java @@ -0,0 +1,20 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + @ASN1Module ( name = "POKERTH_PROTOCOL", isImplicitTags = false ) + public class POKERTH_PROTOCOL { + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/PlainCards.java b/tests/src/pokerth_protocol/PlainCards.java new file mode 100644 index 00000000..7179f5f7 --- /dev/null +++ b/tests/src/pokerth_protocol/PlainCards.java @@ -0,0 +1,69 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "PlainCards", isSet = false ) + public class PlainCards implements IASN1PreparedElement { + + @ASN1Element ( name = "plainCard1", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Card plainCard1 = null; + + + @ASN1Element ( name = "plainCard2", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Card plainCard2 = null; + + + + public Card getPlainCard1 () { + return this.plainCard1; + } + + + + public void setPlainCard1 (Card value) { + this.plainCard1 = value; + } + + + + public Card getPlainCard2 () { + return this.plainCard2; + } + + + + public void setPlainCard2 (Card value) { + this.plainCard2 = value; + } + + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(PlainCards.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/PlayerAllIn.java b/tests/src/pokerth_protocol/PlayerAllIn.java new file mode 100644 index 00000000..9365d6bd --- /dev/null +++ b/tests/src/pokerth_protocol/PlayerAllIn.java @@ -0,0 +1,86 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "PlayerAllIn", isSet = false ) + public class PlayerAllIn implements IASN1PreparedElement { + + @ASN1Element ( name = "playerId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId playerId = null; + + + @ASN1Element ( name = "allInCard1", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Card allInCard1 = null; + + + @ASN1Element ( name = "allInCard2", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Card allInCard2 = null; + + + + public NonZeroId getPlayerId () { + return this.playerId; + } + + + + public void setPlayerId (NonZeroId value) { + this.playerId = value; + } + + + + public Card getAllInCard1 () { + return this.allInCard1; + } + + + + public void setAllInCard1 (Card value) { + this.allInCard1 = value; + } + + + + public Card getAllInCard2 () { + return this.allInCard2; + } + + + + public void setAllInCard2 (Card value) { + this.allInCard2 = value; + } + + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(PlayerAllIn.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/PlayerInfoData.java b/tests/src/pokerth_protocol/PlayerInfoData.java new file mode 100644 index 00000000..cafb695c --- /dev/null +++ b/tests/src/pokerth_protocol/PlayerInfoData.java @@ -0,0 +1,199 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "PlayerInfoData", isSet = false ) + public class PlayerInfoData implements IASN1PreparedElement { + + @ASN1String( name = "", + stringType = UniversalTag.UTF8String , isUCS = false ) + @ASN1ValueRangeConstraint ( + + min = 1L, + + max = 32L + + ) + + @ASN1Element ( name = "playerName", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private String playerName = null; + + @ASN1Boolean( name = "" ) + + @ASN1Element ( name = "isHuman", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Boolean isHuman = null; + + + @ASN1Element ( name = "playerRights", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private PlayerInfoRights playerRights = null; + + + @ASN1String( name = "", + stringType = UniversalTag.UTF8String , isUCS = false ) + + @ASN1SizeConstraint ( max = 2L ) + + @ASN1Element ( name = "countryCode", isOptional = true , hasTag = false , hasDefaultValue = false ) + + private String countryCode = null; + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "avatarData" , isSet = false ) + public static class AvatarDataSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "avatarType", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NetAvatarType avatarType = null; + + + @ASN1Element ( name = "avatar", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private AvatarHash avatar = null; + + + + public NetAvatarType getAvatarType () { + return this.avatarType; + } + + + + public void setAvatarType (NetAvatarType value) { + this.avatarType = value; + } + + + + public AvatarHash getAvatar () { + return this.avatar; + } + + + + public void setAvatar (AvatarHash value) { + this.avatar = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_AvatarDataSequenceType; + } + + private static IASN1PreparedElementData preparedData_AvatarDataSequenceType = CoderFactory.getInstance().newPreparedElementData(AvatarDataSequenceType.class); + + } + + + + @ASN1Element ( name = "avatarData", isOptional = true , hasTag = false , hasDefaultValue = false ) + + private AvatarDataSequenceType avatarData = null; + + + + public String getPlayerName () { + return this.playerName; + } + + + + public void setPlayerName (String value) { + this.playerName = value; + } + + + + public Boolean getIsHuman () { + return this.isHuman; + } + + + + public void setIsHuman (Boolean value) { + this.isHuman = value; + } + + + + public PlayerInfoRights getPlayerRights () { + return this.playerRights; + } + + + + public void setPlayerRights (PlayerInfoRights value) { + this.playerRights = value; + } + + + + public String getCountryCode () { + return this.countryCode; + } + + + public boolean isCountryCodePresent () { + return this.countryCode != null; + } + + + public void setCountryCode (String value) { + this.countryCode = value; + } + + + + public AvatarDataSequenceType getAvatarData () { + return this.avatarData; + } + + + public boolean isAvatarDataPresent () { + return this.avatarData != null; + } + + + public void setAvatarData (AvatarDataSequenceType value) { + this.avatarData = value; + } + + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(PlayerInfoData.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/PlayerInfoReplyMessage.java b/tests/src/pokerth_protocol/PlayerInfoReplyMessage.java new file mode 100644 index 00000000..738238e1 --- /dev/null +++ b/tests/src/pokerth_protocol/PlayerInfoReplyMessage.java @@ -0,0 +1,185 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "PlayerInfoReplyMessage" ) + public class PlayerInfoReplyMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "PlayerInfoReplyMessage" , isSet = false ) + public static class PlayerInfoReplyMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "playerId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId playerId = null; + + + + @ASN1PreparedElement + @ASN1Choice ( name = "playerInfoResult" ) + public static class PlayerInfoResultChoiceType implements IASN1PreparedElement { + + @ASN1Element ( name = "playerInfoData", isOptional = false , hasTag = true, tag = 0 , hasDefaultValue = false ) + + private PlayerInfoData playerInfoData = null; + + + @ASN1Element ( name = "unknownPlayerInfo", isOptional = false , hasTag = true, tag = 1 , hasDefaultValue = false ) + + private UnknownPlayerInfo unknownPlayerInfo = null; + + + + public PlayerInfoData getPlayerInfoData () { + return this.playerInfoData; + } + + public boolean isPlayerInfoDataSelected () { + return this.playerInfoData != null; + } + + private void setPlayerInfoData (PlayerInfoData value) { + this.playerInfoData = value; + } + + + public void selectPlayerInfoData (PlayerInfoData value) { + this.playerInfoData = value; + + setUnknownPlayerInfo(null); + + } + + + + + public UnknownPlayerInfo getUnknownPlayerInfo () { + return this.unknownPlayerInfo; + } + + public boolean isUnknownPlayerInfoSelected () { + return this.unknownPlayerInfo != null; + } + + private void setUnknownPlayerInfo (UnknownPlayerInfo value) { + this.unknownPlayerInfo = value; + } + + + public void selectUnknownPlayerInfo (UnknownPlayerInfo value) { + this.unknownPlayerInfo = value; + + setPlayerInfoData(null); + + } + + + + + public void initWithDefaults() { + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_PlayerInfoResultChoiceType; + } + + private static IASN1PreparedElementData preparedData_PlayerInfoResultChoiceType = CoderFactory.getInstance().newPreparedElementData(PlayerInfoResultChoiceType.class); + + } + + + @ASN1Element ( name = "playerInfoResult", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private PlayerInfoResultChoiceType playerInfoResult = null; + + + + public NonZeroId getPlayerId () { + return this.playerId; + } + + + + public void setPlayerId (NonZeroId value) { + this.playerId = value; + } + + + + public PlayerInfoResultChoiceType getPlayerInfoResult () { + return this.playerInfoResult; + } + + + + public void setPlayerInfoResult (PlayerInfoResultChoiceType value) { + this.playerInfoResult = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_PlayerInfoReplyMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_PlayerInfoReplyMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(PlayerInfoReplyMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "PlayerInfoReplyMessage", isOptional = false , hasTag = true, tag = 9, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private PlayerInfoReplyMessageSequenceType value; + + + + public PlayerInfoReplyMessage () { + } + + + + public void setValue(PlayerInfoReplyMessageSequenceType value) { + this.value = value; + } + + + + public PlayerInfoReplyMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(PlayerInfoReplyMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/PlayerInfoRequestMessage.java b/tests/src/pokerth_protocol/PlayerInfoRequestMessage.java new file mode 100644 index 00000000..85f3cbc8 --- /dev/null +++ b/tests/src/pokerth_protocol/PlayerInfoRequestMessage.java @@ -0,0 +1,94 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "PlayerInfoRequestMessage" ) + public class PlayerInfoRequestMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "PlayerInfoRequestMessage" , isSet = false ) + public static class PlayerInfoRequestMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "playerId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId playerId = null; + + + + public NonZeroId getPlayerId () { + return this.playerId; + } + + + + public void setPlayerId (NonZeroId value) { + this.playerId = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_PlayerInfoRequestMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_PlayerInfoRequestMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(PlayerInfoRequestMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "PlayerInfoRequestMessage", isOptional = false , hasTag = true, tag = 8, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private PlayerInfoRequestMessageSequenceType value; + + + + public PlayerInfoRequestMessage () { + } + + + + public void setValue(PlayerInfoRequestMessageSequenceType value) { + this.value = value; + } + + + + public PlayerInfoRequestMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(PlayerInfoRequestMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/PlayerInfoRights.java b/tests/src/pokerth_protocol/PlayerInfoRights.java new file mode 100644 index 00000000..8ac264ed --- /dev/null +++ b/tests/src/pokerth_protocol/PlayerInfoRights.java @@ -0,0 +1,62 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Enum ( + name = "PlayerInfoRights" + ) + public class PlayerInfoRights implements IASN1PreparedElement { + public enum EnumType { + + @ASN1EnumItem ( name = "playerRightsGuest", hasTag = true , tag = 1 ) + playerRightsGuest , + @ASN1EnumItem ( name = "playerRightsNormal", hasTag = true , tag = 2 ) + playerRightsNormal , + @ASN1EnumItem ( name = "playerRightsAdmin", hasTag = true , tag = 3 ) + playerRightsAdmin , + } + + private EnumType value; + private Integer integerForm; + + public EnumType getValue() { + return this.value; + } + + public void setValue(EnumType value) { + this.value = value; + } + + public Integer getIntegerForm() { + return integerForm; + } + + public void setIntegerForm(Integer value) { + integerForm = value; + } + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(PlayerInfoRights.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/PlayerListMessage.java b/tests/src/pokerth_protocol/PlayerListMessage.java new file mode 100644 index 00000000..a4d295b3 --- /dev/null +++ b/tests/src/pokerth_protocol/PlayerListMessage.java @@ -0,0 +1,154 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "PlayerListMessage" ) + public class PlayerListMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "PlayerListMessage" , isSet = false ) + public static class PlayerListMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "playerId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId playerId = null; + + + + @ASN1PreparedElement + @ASN1Enum ( + name = "PlayerListNotificationEnumType" + ) + public static class PlayerListNotificationEnumType implements IASN1PreparedElement { + public enum EnumType { + + @ASN1EnumItem ( name = "playerListNew", hasTag = true , tag = 0 ) + playerListNew , + @ASN1EnumItem ( name = "playerListLeft", hasTag = true , tag = 1 ) + playerListLeft , + } + + private EnumType value; + private Integer integerForm; + + public EnumType getValue() { + return this.value; + } + + public void setValue(EnumType value) { + this.value = value; + } + + public Integer getIntegerForm() { + return integerForm; + } + + public void setIntegerForm(Integer value) { + integerForm = value; + } + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(PlayerListNotificationEnumType.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + } + + @ASN1Element ( name = "playerListNotification", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private PlayerListNotificationEnumType playerListNotification = null; + + + + public NonZeroId getPlayerId () { + return this.playerId; + } + + + + public void setPlayerId (NonZeroId value) { + this.playerId = value; + } + + + + public PlayerListNotificationEnumType getPlayerListNotification () { + return this.playerListNotification; + } + + + + public void setPlayerListNotification (PlayerListNotificationEnumType value) { + this.playerListNotification = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_PlayerListMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_PlayerListMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(PlayerListMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "PlayerListMessage", isOptional = false , hasTag = true, tag = 6, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private PlayerListMessageSequenceType value; + + + + public PlayerListMessage () { + } + + + + public void setValue(PlayerListMessageSequenceType value) { + this.value = value; + } + + + + public PlayerListMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(PlayerListMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/PlayerResult.java b/tests/src/pokerth_protocol/PlayerResult.java new file mode 100644 index 00000000..ff0aab5b --- /dev/null +++ b/tests/src/pokerth_protocol/PlayerResult.java @@ -0,0 +1,177 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "PlayerResult", isSet = false ) + public class PlayerResult implements IASN1PreparedElement { + + @ASN1Element ( name = "playerId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId playerId = null; + + + @ASN1Element ( name = "resultCard1", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Card resultCard1 = null; + + + @ASN1Element ( name = "resultCard2", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Card resultCard2 = null; + + @ASN1Integer( name = "" ) + +@ASN1SequenceOf( name = "bestHandPosition", isSetOf = false ) + + + @ASN1SizeConstraint ( max = 5L ) + + @ASN1Element ( name = "bestHandPosition", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private java.util.Collection bestHandPosition = null; + + @ASN1Integer( name = "" ) + + @ASN1Element ( name = "cardsValue", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Long cardsValue = null; + + @ASN1Integer( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 0L, + + max = 10000000L + + ) + + @ASN1Element ( name = "moneyWon", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Integer moneyWon = null; + + @ASN1Integer( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 0L, + + max = 10000000L + + ) + + @ASN1Element ( name = "playerMoney", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Integer playerMoney = null; + + + + public NonZeroId getPlayerId () { + return this.playerId; + } + + + + public void setPlayerId (NonZeroId value) { + this.playerId = value; + } + + + + public Card getResultCard1 () { + return this.resultCard1; + } + + + + public void setResultCard1 (Card value) { + this.resultCard1 = value; + } + + + + public Card getResultCard2 () { + return this.resultCard2; + } + + + + public void setResultCard2 (Card value) { + this.resultCard2 = value; + } + + + + public java.util.Collection getBestHandPosition () { + return this.bestHandPosition; + } + + + + public void setBestHandPosition (java.util.Collection value) { + this.bestHandPosition = value; + } + + + + public Long getCardsValue () { + return this.cardsValue; + } + + + + public void setCardsValue (Long value) { + this.cardsValue = value; + } + + + + public Integer getMoneyWon () { + return this.moneyWon; + } + + + + public void setMoneyWon (Integer value) { + this.moneyWon = value; + } + + + + public Integer getPlayerMoney () { + return this.playerMoney; + } + + + + public void setPlayerMoney (Integer value) { + this.playerMoney = value; + } + + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(PlayerResult.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/PlayersActionDoneMessage.java b/tests/src/pokerth_protocol/PlayersActionDoneMessage.java new file mode 100644 index 00000000..02b5ccfd --- /dev/null +++ b/tests/src/pokerth_protocol/PlayersActionDoneMessage.java @@ -0,0 +1,245 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "PlayersActionDoneMessage" ) + public class PlayersActionDoneMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "PlayersActionDoneMessage" , isSet = false ) + public static class PlayersActionDoneMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "gameId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId gameId = null; + + + @ASN1Element ( name = "playerId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId playerId = null; + + + @ASN1Element ( name = "gameState", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NetGameState gameState = null; + + + @ASN1Element ( name = "playerAction", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NetPlayerAction playerAction = null; + + @ASN1Integer( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 0L, + + max = 10000000L + + ) + + @ASN1Element ( name = "totalPlayerBet", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Integer totalPlayerBet = null; + + @ASN1Integer( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 0L, + + max = 10000000L + + ) + + @ASN1Element ( name = "playerMoney", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Integer playerMoney = null; + + @ASN1Integer( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 0L, + + max = 10000000L + + ) + + @ASN1Element ( name = "highestSet", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Integer highestSet = null; + + @ASN1Integer( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 0L, + + max = 10000000L + + ) + + @ASN1Element ( name = "minimumRaise", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Integer minimumRaise = null; + + + + public NonZeroId getGameId () { + return this.gameId; + } + + + + public void setGameId (NonZeroId value) { + this.gameId = value; + } + + + + public NonZeroId getPlayerId () { + return this.playerId; + } + + + + public void setPlayerId (NonZeroId value) { + this.playerId = value; + } + + + + public NetGameState getGameState () { + return this.gameState; + } + + + + public void setGameState (NetGameState value) { + this.gameState = value; + } + + + + public NetPlayerAction getPlayerAction () { + return this.playerAction; + } + + + + public void setPlayerAction (NetPlayerAction value) { + this.playerAction = value; + } + + + + public Integer getTotalPlayerBet () { + return this.totalPlayerBet; + } + + + + public void setTotalPlayerBet (Integer value) { + this.totalPlayerBet = value; + } + + + + public Integer getPlayerMoney () { + return this.playerMoney; + } + + + + public void setPlayerMoney (Integer value) { + this.playerMoney = value; + } + + + + public Integer getHighestSet () { + return this.highestSet; + } + + + + public void setHighestSet (Integer value) { + this.highestSet = value; + } + + + + public Integer getMinimumRaise () { + return this.minimumRaise; + } + + + + public void setMinimumRaise (Integer value) { + this.minimumRaise = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_PlayersActionDoneMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_PlayersActionDoneMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(PlayersActionDoneMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "PlayersActionDoneMessage", isOptional = false , hasTag = true, tag = 27, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private PlayersActionDoneMessageSequenceType value; + + + + public PlayersActionDoneMessage () { + } + + + + public void setValue(PlayersActionDoneMessageSequenceType value) { + this.value = value; + } + + + + public PlayersActionDoneMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(PlayersActionDoneMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/PlayersTurnMessage.java b/tests/src/pokerth_protocol/PlayersTurnMessage.java new file mode 100644 index 00000000..9a71fa2d --- /dev/null +++ b/tests/src/pokerth_protocol/PlayersTurnMessage.java @@ -0,0 +1,128 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "PlayersTurnMessage" ) + public class PlayersTurnMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "PlayersTurnMessage" , isSet = false ) + public static class PlayersTurnMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "gameId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId gameId = null; + + + @ASN1Element ( name = "playerId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId playerId = null; + + + @ASN1Element ( name = "gameState", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NetGameState gameState = null; + + + + public NonZeroId getGameId () { + return this.gameId; + } + + + + public void setGameId (NonZeroId value) { + this.gameId = value; + } + + + + public NonZeroId getPlayerId () { + return this.playerId; + } + + + + public void setPlayerId (NonZeroId value) { + this.playerId = value; + } + + + + public NetGameState getGameState () { + return this.gameState; + } + + + + public void setGameState (NetGameState value) { + this.gameState = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_PlayersTurnMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_PlayersTurnMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(PlayersTurnMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "PlayersTurnMessage", isOptional = false , hasTag = true, tag = 24, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private PlayersTurnMessageSequenceType value; + + + + public PlayersTurnMessage () { + } + + + + public void setValue(PlayersTurnMessageSequenceType value) { + this.value = value; + } + + + + public PlayersTurnMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(PlayersTurnMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/PokerTHMessage.java b/tests/src/pokerth_protocol/PokerTHMessage.java new file mode 100644 index 00000000..651bcf5a --- /dev/null +++ b/tests/src/pokerth_protocol/PokerTHMessage.java @@ -0,0 +1,6459 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Choice ( name = "PokerTHMessage" ) + public class PokerTHMessage implements IASN1PreparedElement { + + @ASN1Element ( name = "announceMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private AnnounceMessage announceMessage = null; + + + @ASN1Element ( name = "initMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private InitMessage initMessage = null; + + + @ASN1Element ( name = "authMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private AuthMessage authMessage = null; + + + @ASN1Element ( name = "initAckMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private InitAckMessage initAckMessage = null; + + + @ASN1Element ( name = "avatarRequestMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private AvatarRequestMessage avatarRequestMessage = null; + + + @ASN1Element ( name = "avatarReplyMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private AvatarReplyMessage avatarReplyMessage = null; + + + @ASN1Element ( name = "playerListMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private PlayerListMessage playerListMessage = null; + + + @ASN1Element ( name = "gameListMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private GameListMessage gameListMessage = null; + + + @ASN1Element ( name = "playerInfoRequestMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private PlayerInfoRequestMessage playerInfoRequestMessage = null; + + + @ASN1Element ( name = "playerInfoReplyMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private PlayerInfoReplyMessage playerInfoReplyMessage = null; + + + @ASN1Element ( name = "subscriptionRequestMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private SubscriptionRequestMessage subscriptionRequestMessage = null; + + + @ASN1Element ( name = "joinGameRequestMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private JoinGameRequestMessage joinGameRequestMessage = null; + + + @ASN1Element ( name = "joinGameReplyMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private JoinGameReplyMessage joinGameReplyMessage = null; + + + @ASN1Element ( name = "gamePlayerMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private GamePlayerMessage gamePlayerMessage = null; + + + @ASN1Element ( name = "kickPlayerRequestMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private KickPlayerRequestMessage kickPlayerRequestMessage = null; + + + @ASN1Element ( name = "leaveGameRequestMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private LeaveGameRequestMessage leaveGameRequestMessage = null; + + + @ASN1Element ( name = "invitePlayerToGameMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private InvitePlayerToGameMessage invitePlayerToGameMessage = null; + + + @ASN1Element ( name = "inviteNotifyMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private InviteNotifyMessage inviteNotifyMessage = null; + + + @ASN1Element ( name = "rejectGameInvitationMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private RejectGameInvitationMessage rejectGameInvitationMessage = null; + + + @ASN1Element ( name = "rejectInvNotifyMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private RejectInvNotifyMessage rejectInvNotifyMessage = null; + + + @ASN1Element ( name = "startEventMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private StartEventMessage startEventMessage = null; + + + @ASN1Element ( name = "startEventAckMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private StartEventAckMessage startEventAckMessage = null; + + + @ASN1Element ( name = "gameStartMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private GameStartMessage gameStartMessage = null; + + + @ASN1Element ( name = "handStartMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private HandStartMessage handStartMessage = null; + + + @ASN1Element ( name = "playersTurnMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private PlayersTurnMessage playersTurnMessage = null; + + + @ASN1Element ( name = "myActionRequestMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private MyActionRequestMessage myActionRequestMessage = null; + + + @ASN1Element ( name = "yourActionRejectedMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private YourActionRejectedMessage yourActionRejectedMessage = null; + + + @ASN1Element ( name = "playersActionDoneMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private PlayersActionDoneMessage playersActionDoneMessage = null; + + + @ASN1Element ( name = "dealFlopCardsMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private DealFlopCardsMessage dealFlopCardsMessage = null; + + + @ASN1Element ( name = "dealTurnCardMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private DealTurnCardMessage dealTurnCardMessage = null; + + + @ASN1Element ( name = "dealRiverCardMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private DealRiverCardMessage dealRiverCardMessage = null; + + + @ASN1Element ( name = "allInShowCardsMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private AllInShowCardsMessage allInShowCardsMessage = null; + + + @ASN1Element ( name = "endOfHandMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private EndOfHandMessage endOfHandMessage = null; + + + @ASN1Element ( name = "showMyCardsRequestMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private ShowMyCardsRequestMessage showMyCardsRequestMessage = null; + + + @ASN1Element ( name = "afterHandShowCardsMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private AfterHandShowCardsMessage afterHandShowCardsMessage = null; + + + @ASN1Element ( name = "endOfGameMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private EndOfGameMessage endOfGameMessage = null; + + + @ASN1Element ( name = "askKickPlayerMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private AskKickPlayerMessage askKickPlayerMessage = null; + + + @ASN1Element ( name = "askKickDeniedMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private AskKickDeniedMessage askKickDeniedMessage = null; + + + @ASN1Element ( name = "startKickPetitionMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private StartKickPetitionMessage startKickPetitionMessage = null; + + + @ASN1Element ( name = "voteKickRequestMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private VoteKickRequestMessage voteKickRequestMessage = null; + + + @ASN1Element ( name = "voteKickReplyMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private VoteKickReplyMessage voteKickReplyMessage = null; + + + @ASN1Element ( name = "kickPetitionUpdateMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private KickPetitionUpdateMessage kickPetitionUpdateMessage = null; + + + @ASN1Element ( name = "endKickPetitionMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private EndKickPetitionMessage endKickPetitionMessage = null; + + + @ASN1Element ( name = "statisticsMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private StatisticsMessage statisticsMessage = null; + + + @ASN1Element ( name = "chatRequestMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private ChatRequestMessage chatRequestMessage = null; + + + @ASN1Element ( name = "chatMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private ChatMessage chatMessage = null; + + + @ASN1Element ( name = "dialogMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private DialogMessage dialogMessage = null; + + + @ASN1Element ( name = "timeoutWarningMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private TimeoutWarningMessage timeoutWarningMessage = null; + + + @ASN1Element ( name = "resetTimeoutMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private ResetTimeoutMessage resetTimeoutMessage = null; + + + @ASN1Element ( name = "afkWarningMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private AfkWarningMessage afkWarningMessage = null; + + + @ASN1Element ( name = "errorMessage", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private ErrorMessage errorMessage = null; + + + + public AnnounceMessage getAnnounceMessage () { + return this.announceMessage; + } + + public boolean isAnnounceMessageSelected () { + return this.announceMessage != null; + } + + private void setAnnounceMessage (AnnounceMessage value) { + this.announceMessage = value; + } + + + public void selectAnnounceMessage (AnnounceMessage value) { + this.announceMessage = value; + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public InitMessage getInitMessage () { + return this.initMessage; + } + + public boolean isInitMessageSelected () { + return this.initMessage != null; + } + + private void setInitMessage (InitMessage value) { + this.initMessage = value; + } + + + public void selectInitMessage (InitMessage value) { + this.initMessage = value; + + setAnnounceMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public AuthMessage getAuthMessage () { + return this.authMessage; + } + + public boolean isAuthMessageSelected () { + return this.authMessage != null; + } + + private void setAuthMessage (AuthMessage value) { + this.authMessage = value; + } + + + public void selectAuthMessage (AuthMessage value) { + this.authMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public InitAckMessage getInitAckMessage () { + return this.initAckMessage; + } + + public boolean isInitAckMessageSelected () { + return this.initAckMessage != null; + } + + private void setInitAckMessage (InitAckMessage value) { + this.initAckMessage = value; + } + + + public void selectInitAckMessage (InitAckMessage value) { + this.initAckMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public AvatarRequestMessage getAvatarRequestMessage () { + return this.avatarRequestMessage; + } + + public boolean isAvatarRequestMessageSelected () { + return this.avatarRequestMessage != null; + } + + private void setAvatarRequestMessage (AvatarRequestMessage value) { + this.avatarRequestMessage = value; + } + + + public void selectAvatarRequestMessage (AvatarRequestMessage value) { + this.avatarRequestMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public AvatarReplyMessage getAvatarReplyMessage () { + return this.avatarReplyMessage; + } + + public boolean isAvatarReplyMessageSelected () { + return this.avatarReplyMessage != null; + } + + private void setAvatarReplyMessage (AvatarReplyMessage value) { + this.avatarReplyMessage = value; + } + + + public void selectAvatarReplyMessage (AvatarReplyMessage value) { + this.avatarReplyMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public PlayerListMessage getPlayerListMessage () { + return this.playerListMessage; + } + + public boolean isPlayerListMessageSelected () { + return this.playerListMessage != null; + } + + private void setPlayerListMessage (PlayerListMessage value) { + this.playerListMessage = value; + } + + + public void selectPlayerListMessage (PlayerListMessage value) { + this.playerListMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public GameListMessage getGameListMessage () { + return this.gameListMessage; + } + + public boolean isGameListMessageSelected () { + return this.gameListMessage != null; + } + + private void setGameListMessage (GameListMessage value) { + this.gameListMessage = value; + } + + + public void selectGameListMessage (GameListMessage value) { + this.gameListMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public PlayerInfoRequestMessage getPlayerInfoRequestMessage () { + return this.playerInfoRequestMessage; + } + + public boolean isPlayerInfoRequestMessageSelected () { + return this.playerInfoRequestMessage != null; + } + + private void setPlayerInfoRequestMessage (PlayerInfoRequestMessage value) { + this.playerInfoRequestMessage = value; + } + + + public void selectPlayerInfoRequestMessage (PlayerInfoRequestMessage value) { + this.playerInfoRequestMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public PlayerInfoReplyMessage getPlayerInfoReplyMessage () { + return this.playerInfoReplyMessage; + } + + public boolean isPlayerInfoReplyMessageSelected () { + return this.playerInfoReplyMessage != null; + } + + private void setPlayerInfoReplyMessage (PlayerInfoReplyMessage value) { + this.playerInfoReplyMessage = value; + } + + + public void selectPlayerInfoReplyMessage (PlayerInfoReplyMessage value) { + this.playerInfoReplyMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public SubscriptionRequestMessage getSubscriptionRequestMessage () { + return this.subscriptionRequestMessage; + } + + public boolean isSubscriptionRequestMessageSelected () { + return this.subscriptionRequestMessage != null; + } + + private void setSubscriptionRequestMessage (SubscriptionRequestMessage value) { + this.subscriptionRequestMessage = value; + } + + + public void selectSubscriptionRequestMessage (SubscriptionRequestMessage value) { + this.subscriptionRequestMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public JoinGameRequestMessage getJoinGameRequestMessage () { + return this.joinGameRequestMessage; + } + + public boolean isJoinGameRequestMessageSelected () { + return this.joinGameRequestMessage != null; + } + + private void setJoinGameRequestMessage (JoinGameRequestMessage value) { + this.joinGameRequestMessage = value; + } + + + public void selectJoinGameRequestMessage (JoinGameRequestMessage value) { + this.joinGameRequestMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public JoinGameReplyMessage getJoinGameReplyMessage () { + return this.joinGameReplyMessage; + } + + public boolean isJoinGameReplyMessageSelected () { + return this.joinGameReplyMessage != null; + } + + private void setJoinGameReplyMessage (JoinGameReplyMessage value) { + this.joinGameReplyMessage = value; + } + + + public void selectJoinGameReplyMessage (JoinGameReplyMessage value) { + this.joinGameReplyMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public GamePlayerMessage getGamePlayerMessage () { + return this.gamePlayerMessage; + } + + public boolean isGamePlayerMessageSelected () { + return this.gamePlayerMessage != null; + } + + private void setGamePlayerMessage (GamePlayerMessage value) { + this.gamePlayerMessage = value; + } + + + public void selectGamePlayerMessage (GamePlayerMessage value) { + this.gamePlayerMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public KickPlayerRequestMessage getKickPlayerRequestMessage () { + return this.kickPlayerRequestMessage; + } + + public boolean isKickPlayerRequestMessageSelected () { + return this.kickPlayerRequestMessage != null; + } + + private void setKickPlayerRequestMessage (KickPlayerRequestMessage value) { + this.kickPlayerRequestMessage = value; + } + + + public void selectKickPlayerRequestMessage (KickPlayerRequestMessage value) { + this.kickPlayerRequestMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public LeaveGameRequestMessage getLeaveGameRequestMessage () { + return this.leaveGameRequestMessage; + } + + public boolean isLeaveGameRequestMessageSelected () { + return this.leaveGameRequestMessage != null; + } + + private void setLeaveGameRequestMessage (LeaveGameRequestMessage value) { + this.leaveGameRequestMessage = value; + } + + + public void selectLeaveGameRequestMessage (LeaveGameRequestMessage value) { + this.leaveGameRequestMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public InvitePlayerToGameMessage getInvitePlayerToGameMessage () { + return this.invitePlayerToGameMessage; + } + + public boolean isInvitePlayerToGameMessageSelected () { + return this.invitePlayerToGameMessage != null; + } + + private void setInvitePlayerToGameMessage (InvitePlayerToGameMessage value) { + this.invitePlayerToGameMessage = value; + } + + + public void selectInvitePlayerToGameMessage (InvitePlayerToGameMessage value) { + this.invitePlayerToGameMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public InviteNotifyMessage getInviteNotifyMessage () { + return this.inviteNotifyMessage; + } + + public boolean isInviteNotifyMessageSelected () { + return this.inviteNotifyMessage != null; + } + + private void setInviteNotifyMessage (InviteNotifyMessage value) { + this.inviteNotifyMessage = value; + } + + + public void selectInviteNotifyMessage (InviteNotifyMessage value) { + this.inviteNotifyMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public RejectGameInvitationMessage getRejectGameInvitationMessage () { + return this.rejectGameInvitationMessage; + } + + public boolean isRejectGameInvitationMessageSelected () { + return this.rejectGameInvitationMessage != null; + } + + private void setRejectGameInvitationMessage (RejectGameInvitationMessage value) { + this.rejectGameInvitationMessage = value; + } + + + public void selectRejectGameInvitationMessage (RejectGameInvitationMessage value) { + this.rejectGameInvitationMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public RejectInvNotifyMessage getRejectInvNotifyMessage () { + return this.rejectInvNotifyMessage; + } + + public boolean isRejectInvNotifyMessageSelected () { + return this.rejectInvNotifyMessage != null; + } + + private void setRejectInvNotifyMessage (RejectInvNotifyMessage value) { + this.rejectInvNotifyMessage = value; + } + + + public void selectRejectInvNotifyMessage (RejectInvNotifyMessage value) { + this.rejectInvNotifyMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public StartEventMessage getStartEventMessage () { + return this.startEventMessage; + } + + public boolean isStartEventMessageSelected () { + return this.startEventMessage != null; + } + + private void setStartEventMessage (StartEventMessage value) { + this.startEventMessage = value; + } + + + public void selectStartEventMessage (StartEventMessage value) { + this.startEventMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public StartEventAckMessage getStartEventAckMessage () { + return this.startEventAckMessage; + } + + public boolean isStartEventAckMessageSelected () { + return this.startEventAckMessage != null; + } + + private void setStartEventAckMessage (StartEventAckMessage value) { + this.startEventAckMessage = value; + } + + + public void selectStartEventAckMessage (StartEventAckMessage value) { + this.startEventAckMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public GameStartMessage getGameStartMessage () { + return this.gameStartMessage; + } + + public boolean isGameStartMessageSelected () { + return this.gameStartMessage != null; + } + + private void setGameStartMessage (GameStartMessage value) { + this.gameStartMessage = value; + } + + + public void selectGameStartMessage (GameStartMessage value) { + this.gameStartMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public HandStartMessage getHandStartMessage () { + return this.handStartMessage; + } + + public boolean isHandStartMessageSelected () { + return this.handStartMessage != null; + } + + private void setHandStartMessage (HandStartMessage value) { + this.handStartMessage = value; + } + + + public void selectHandStartMessage (HandStartMessage value) { + this.handStartMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public PlayersTurnMessage getPlayersTurnMessage () { + return this.playersTurnMessage; + } + + public boolean isPlayersTurnMessageSelected () { + return this.playersTurnMessage != null; + } + + private void setPlayersTurnMessage (PlayersTurnMessage value) { + this.playersTurnMessage = value; + } + + + public void selectPlayersTurnMessage (PlayersTurnMessage value) { + this.playersTurnMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public MyActionRequestMessage getMyActionRequestMessage () { + return this.myActionRequestMessage; + } + + public boolean isMyActionRequestMessageSelected () { + return this.myActionRequestMessage != null; + } + + private void setMyActionRequestMessage (MyActionRequestMessage value) { + this.myActionRequestMessage = value; + } + + + public void selectMyActionRequestMessage (MyActionRequestMessage value) { + this.myActionRequestMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public YourActionRejectedMessage getYourActionRejectedMessage () { + return this.yourActionRejectedMessage; + } + + public boolean isYourActionRejectedMessageSelected () { + return this.yourActionRejectedMessage != null; + } + + private void setYourActionRejectedMessage (YourActionRejectedMessage value) { + this.yourActionRejectedMessage = value; + } + + + public void selectYourActionRejectedMessage (YourActionRejectedMessage value) { + this.yourActionRejectedMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public PlayersActionDoneMessage getPlayersActionDoneMessage () { + return this.playersActionDoneMessage; + } + + public boolean isPlayersActionDoneMessageSelected () { + return this.playersActionDoneMessage != null; + } + + private void setPlayersActionDoneMessage (PlayersActionDoneMessage value) { + this.playersActionDoneMessage = value; + } + + + public void selectPlayersActionDoneMessage (PlayersActionDoneMessage value) { + this.playersActionDoneMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public DealFlopCardsMessage getDealFlopCardsMessage () { + return this.dealFlopCardsMessage; + } + + public boolean isDealFlopCardsMessageSelected () { + return this.dealFlopCardsMessage != null; + } + + private void setDealFlopCardsMessage (DealFlopCardsMessage value) { + this.dealFlopCardsMessage = value; + } + + + public void selectDealFlopCardsMessage (DealFlopCardsMessage value) { + this.dealFlopCardsMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public DealTurnCardMessage getDealTurnCardMessage () { + return this.dealTurnCardMessage; + } + + public boolean isDealTurnCardMessageSelected () { + return this.dealTurnCardMessage != null; + } + + private void setDealTurnCardMessage (DealTurnCardMessage value) { + this.dealTurnCardMessage = value; + } + + + public void selectDealTurnCardMessage (DealTurnCardMessage value) { + this.dealTurnCardMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public DealRiverCardMessage getDealRiverCardMessage () { + return this.dealRiverCardMessage; + } + + public boolean isDealRiverCardMessageSelected () { + return this.dealRiverCardMessage != null; + } + + private void setDealRiverCardMessage (DealRiverCardMessage value) { + this.dealRiverCardMessage = value; + } + + + public void selectDealRiverCardMessage (DealRiverCardMessage value) { + this.dealRiverCardMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public AllInShowCardsMessage getAllInShowCardsMessage () { + return this.allInShowCardsMessage; + } + + public boolean isAllInShowCardsMessageSelected () { + return this.allInShowCardsMessage != null; + } + + private void setAllInShowCardsMessage (AllInShowCardsMessage value) { + this.allInShowCardsMessage = value; + } + + + public void selectAllInShowCardsMessage (AllInShowCardsMessage value) { + this.allInShowCardsMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public EndOfHandMessage getEndOfHandMessage () { + return this.endOfHandMessage; + } + + public boolean isEndOfHandMessageSelected () { + return this.endOfHandMessage != null; + } + + private void setEndOfHandMessage (EndOfHandMessage value) { + this.endOfHandMessage = value; + } + + + public void selectEndOfHandMessage (EndOfHandMessage value) { + this.endOfHandMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public ShowMyCardsRequestMessage getShowMyCardsRequestMessage () { + return this.showMyCardsRequestMessage; + } + + public boolean isShowMyCardsRequestMessageSelected () { + return this.showMyCardsRequestMessage != null; + } + + private void setShowMyCardsRequestMessage (ShowMyCardsRequestMessage value) { + this.showMyCardsRequestMessage = value; + } + + + public void selectShowMyCardsRequestMessage (ShowMyCardsRequestMessage value) { + this.showMyCardsRequestMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public AfterHandShowCardsMessage getAfterHandShowCardsMessage () { + return this.afterHandShowCardsMessage; + } + + public boolean isAfterHandShowCardsMessageSelected () { + return this.afterHandShowCardsMessage != null; + } + + private void setAfterHandShowCardsMessage (AfterHandShowCardsMessage value) { + this.afterHandShowCardsMessage = value; + } + + + public void selectAfterHandShowCardsMessage (AfterHandShowCardsMessage value) { + this.afterHandShowCardsMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public EndOfGameMessage getEndOfGameMessage () { + return this.endOfGameMessage; + } + + public boolean isEndOfGameMessageSelected () { + return this.endOfGameMessage != null; + } + + private void setEndOfGameMessage (EndOfGameMessage value) { + this.endOfGameMessage = value; + } + + + public void selectEndOfGameMessage (EndOfGameMessage value) { + this.endOfGameMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public AskKickPlayerMessage getAskKickPlayerMessage () { + return this.askKickPlayerMessage; + } + + public boolean isAskKickPlayerMessageSelected () { + return this.askKickPlayerMessage != null; + } + + private void setAskKickPlayerMessage (AskKickPlayerMessage value) { + this.askKickPlayerMessage = value; + } + + + public void selectAskKickPlayerMessage (AskKickPlayerMessage value) { + this.askKickPlayerMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public AskKickDeniedMessage getAskKickDeniedMessage () { + return this.askKickDeniedMessage; + } + + public boolean isAskKickDeniedMessageSelected () { + return this.askKickDeniedMessage != null; + } + + private void setAskKickDeniedMessage (AskKickDeniedMessage value) { + this.askKickDeniedMessage = value; + } + + + public void selectAskKickDeniedMessage (AskKickDeniedMessage value) { + this.askKickDeniedMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public StartKickPetitionMessage getStartKickPetitionMessage () { + return this.startKickPetitionMessage; + } + + public boolean isStartKickPetitionMessageSelected () { + return this.startKickPetitionMessage != null; + } + + private void setStartKickPetitionMessage (StartKickPetitionMessage value) { + this.startKickPetitionMessage = value; + } + + + public void selectStartKickPetitionMessage (StartKickPetitionMessage value) { + this.startKickPetitionMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public VoteKickRequestMessage getVoteKickRequestMessage () { + return this.voteKickRequestMessage; + } + + public boolean isVoteKickRequestMessageSelected () { + return this.voteKickRequestMessage != null; + } + + private void setVoteKickRequestMessage (VoteKickRequestMessage value) { + this.voteKickRequestMessage = value; + } + + + public void selectVoteKickRequestMessage (VoteKickRequestMessage value) { + this.voteKickRequestMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public VoteKickReplyMessage getVoteKickReplyMessage () { + return this.voteKickReplyMessage; + } + + public boolean isVoteKickReplyMessageSelected () { + return this.voteKickReplyMessage != null; + } + + private void setVoteKickReplyMessage (VoteKickReplyMessage value) { + this.voteKickReplyMessage = value; + } + + + public void selectVoteKickReplyMessage (VoteKickReplyMessage value) { + this.voteKickReplyMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public KickPetitionUpdateMessage getKickPetitionUpdateMessage () { + return this.kickPetitionUpdateMessage; + } + + public boolean isKickPetitionUpdateMessageSelected () { + return this.kickPetitionUpdateMessage != null; + } + + private void setKickPetitionUpdateMessage (KickPetitionUpdateMessage value) { + this.kickPetitionUpdateMessage = value; + } + + + public void selectKickPetitionUpdateMessage (KickPetitionUpdateMessage value) { + this.kickPetitionUpdateMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public EndKickPetitionMessage getEndKickPetitionMessage () { + return this.endKickPetitionMessage; + } + + public boolean isEndKickPetitionMessageSelected () { + return this.endKickPetitionMessage != null; + } + + private void setEndKickPetitionMessage (EndKickPetitionMessage value) { + this.endKickPetitionMessage = value; + } + + + public void selectEndKickPetitionMessage (EndKickPetitionMessage value) { + this.endKickPetitionMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public StatisticsMessage getStatisticsMessage () { + return this.statisticsMessage; + } + + public boolean isStatisticsMessageSelected () { + return this.statisticsMessage != null; + } + + private void setStatisticsMessage (StatisticsMessage value) { + this.statisticsMessage = value; + } + + + public void selectStatisticsMessage (StatisticsMessage value) { + this.statisticsMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public ChatRequestMessage getChatRequestMessage () { + return this.chatRequestMessage; + } + + public boolean isChatRequestMessageSelected () { + return this.chatRequestMessage != null; + } + + private void setChatRequestMessage (ChatRequestMessage value) { + this.chatRequestMessage = value; + } + + + public void selectChatRequestMessage (ChatRequestMessage value) { + this.chatRequestMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public ChatMessage getChatMessage () { + return this.chatMessage; + } + + public boolean isChatMessageSelected () { + return this.chatMessage != null; + } + + private void setChatMessage (ChatMessage value) { + this.chatMessage = value; + } + + + public void selectChatMessage (ChatMessage value) { + this.chatMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public DialogMessage getDialogMessage () { + return this.dialogMessage; + } + + public boolean isDialogMessageSelected () { + return this.dialogMessage != null; + } + + private void setDialogMessage (DialogMessage value) { + this.dialogMessage = value; + } + + + public void selectDialogMessage (DialogMessage value) { + this.dialogMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public TimeoutWarningMessage getTimeoutWarningMessage () { + return this.timeoutWarningMessage; + } + + public boolean isTimeoutWarningMessageSelected () { + return this.timeoutWarningMessage != null; + } + + private void setTimeoutWarningMessage (TimeoutWarningMessage value) { + this.timeoutWarningMessage = value; + } + + + public void selectTimeoutWarningMessage (TimeoutWarningMessage value) { + this.timeoutWarningMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public ResetTimeoutMessage getResetTimeoutMessage () { + return this.resetTimeoutMessage; + } + + public boolean isResetTimeoutMessageSelected () { + return this.resetTimeoutMessage != null; + } + + private void setResetTimeoutMessage (ResetTimeoutMessage value) { + this.resetTimeoutMessage = value; + } + + + public void selectResetTimeoutMessage (ResetTimeoutMessage value) { + this.resetTimeoutMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setAfkWarningMessage(null); + + setErrorMessage(null); + + } + + + + + public AfkWarningMessage getAfkWarningMessage () { + return this.afkWarningMessage; + } + + public boolean isAfkWarningMessageSelected () { + return this.afkWarningMessage != null; + } + + private void setAfkWarningMessage (AfkWarningMessage value) { + this.afkWarningMessage = value; + } + + + public void selectAfkWarningMessage (AfkWarningMessage value) { + this.afkWarningMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setErrorMessage(null); + + } + + + + + public ErrorMessage getErrorMessage () { + return this.errorMessage; + } + + public boolean isErrorMessageSelected () { + return this.errorMessage != null; + } + + private void setErrorMessage (ErrorMessage value) { + this.errorMessage = value; + } + + + public void selectErrorMessage (ErrorMessage value) { + this.errorMessage = value; + + setAnnounceMessage(null); + + setInitMessage(null); + + setAuthMessage(null); + + setInitAckMessage(null); + + setAvatarRequestMessage(null); + + setAvatarReplyMessage(null); + + setPlayerListMessage(null); + + setGameListMessage(null); + + setPlayerInfoRequestMessage(null); + + setPlayerInfoReplyMessage(null); + + setSubscriptionRequestMessage(null); + + setJoinGameRequestMessage(null); + + setJoinGameReplyMessage(null); + + setGamePlayerMessage(null); + + setKickPlayerRequestMessage(null); + + setLeaveGameRequestMessage(null); + + setInvitePlayerToGameMessage(null); + + setInviteNotifyMessage(null); + + setRejectGameInvitationMessage(null); + + setRejectInvNotifyMessage(null); + + setStartEventMessage(null); + + setStartEventAckMessage(null); + + setGameStartMessage(null); + + setHandStartMessage(null); + + setPlayersTurnMessage(null); + + setMyActionRequestMessage(null); + + setYourActionRejectedMessage(null); + + setPlayersActionDoneMessage(null); + + setDealFlopCardsMessage(null); + + setDealTurnCardMessage(null); + + setDealRiverCardMessage(null); + + setAllInShowCardsMessage(null); + + setEndOfHandMessage(null); + + setShowMyCardsRequestMessage(null); + + setAfterHandShowCardsMessage(null); + + setEndOfGameMessage(null); + + setAskKickPlayerMessage(null); + + setAskKickDeniedMessage(null); + + setStartKickPetitionMessage(null); + + setVoteKickRequestMessage(null); + + setVoteKickReplyMessage(null); + + setKickPetitionUpdateMessage(null); + + setEndKickPetitionMessage(null); + + setStatisticsMessage(null); + + setChatRequestMessage(null); + + setChatMessage(null); + + setDialogMessage(null); + + setTimeoutWarningMessage(null); + + setResetTimeoutMessage(null); + + setAfkWarningMessage(null); + + } + + + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(PokerTHMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/RejectGameInvReason.java b/tests/src/pokerth_protocol/RejectGameInvReason.java new file mode 100644 index 00000000..34cda4b4 --- /dev/null +++ b/tests/src/pokerth_protocol/RejectGameInvReason.java @@ -0,0 +1,60 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Enum ( + name = "RejectGameInvReason" + ) + public class RejectGameInvReason implements IASN1PreparedElement { + public enum EnumType { + + @ASN1EnumItem ( name = "no", hasTag = true , tag = 0 ) + no , + @ASN1EnumItem ( name = "busy", hasTag = true , tag = 1 ) + busy , + } + + private EnumType value; + private Integer integerForm; + + public EnumType getValue() { + return this.value; + } + + public void setValue(EnumType value) { + this.value = value; + } + + public Integer getIntegerForm() { + return integerForm; + } + + public void setIntegerForm(Integer value) { + integerForm = value; + } + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(RejectGameInvReason.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/RejectGameInvitationMessage.java b/tests/src/pokerth_protocol/RejectGameInvitationMessage.java new file mode 100644 index 00000000..3cb0fda5 --- /dev/null +++ b/tests/src/pokerth_protocol/RejectGameInvitationMessage.java @@ -0,0 +1,111 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "RejectGameInvitationMessage" ) + public class RejectGameInvitationMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "RejectGameInvitationMessage" , isSet = false ) + public static class RejectGameInvitationMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "gameId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId gameId = null; + + + @ASN1Element ( name = "myRejectReason", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private RejectGameInvReason myRejectReason = null; + + + + public NonZeroId getGameId () { + return this.gameId; + } + + + + public void setGameId (NonZeroId value) { + this.gameId = value; + } + + + + public RejectGameInvReason getMyRejectReason () { + return this.myRejectReason; + } + + + + public void setMyRejectReason (RejectGameInvReason value) { + this.myRejectReason = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_RejectGameInvitationMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_RejectGameInvitationMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(RejectGameInvitationMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "RejectGameInvitationMessage", isOptional = false , hasTag = true, tag = 18, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private RejectGameInvitationMessageSequenceType value; + + + + public RejectGameInvitationMessage () { + } + + + + public void setValue(RejectGameInvitationMessageSequenceType value) { + this.value = value; + } + + + + public RejectGameInvitationMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(RejectGameInvitationMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/RejectInvNotifyMessage.java b/tests/src/pokerth_protocol/RejectInvNotifyMessage.java new file mode 100644 index 00000000..54cc084c --- /dev/null +++ b/tests/src/pokerth_protocol/RejectInvNotifyMessage.java @@ -0,0 +1,128 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "RejectInvNotifyMessage" ) + public class RejectInvNotifyMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "RejectInvNotifyMessage" , isSet = false ) + public static class RejectInvNotifyMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "gameId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId gameId = null; + + + @ASN1Element ( name = "playerId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId playerId = null; + + + @ASN1Element ( name = "playerRejectReason", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private RejectGameInvReason playerRejectReason = null; + + + + public NonZeroId getGameId () { + return this.gameId; + } + + + + public void setGameId (NonZeroId value) { + this.gameId = value; + } + + + + public NonZeroId getPlayerId () { + return this.playerId; + } + + + + public void setPlayerId (NonZeroId value) { + this.playerId = value; + } + + + + public RejectGameInvReason getPlayerRejectReason () { + return this.playerRejectReason; + } + + + + public void setPlayerRejectReason (RejectGameInvReason value) { + this.playerRejectReason = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_RejectInvNotifyMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_RejectInvNotifyMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(RejectInvNotifyMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "RejectInvNotifyMessage", isOptional = false , hasTag = true, tag = 19, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private RejectInvNotifyMessageSequenceType value; + + + + public RejectInvNotifyMessage () { + } + + + + public void setValue(RejectInvNotifyMessageSequenceType value) { + this.value = value; + } + + + + public RejectInvNotifyMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(RejectInvNotifyMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/RemovedFromGame.java b/tests/src/pokerth_protocol/RemovedFromGame.java new file mode 100644 index 00000000..c5642958 --- /dev/null +++ b/tests/src/pokerth_protocol/RemovedFromGame.java @@ -0,0 +1,103 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "RemovedFromGame", isSet = false ) + public class RemovedFromGame implements IASN1PreparedElement { + + + @ASN1PreparedElement + @ASN1Enum ( + name = "RemovedFromGameReasonEnumType" + ) + public static class RemovedFromGameReasonEnumType implements IASN1PreparedElement { + public enum EnumType { + + @ASN1EnumItem ( name = "removedOnRequest", hasTag = true , tag = 0 ) + removedOnRequest , + @ASN1EnumItem ( name = "kickedFromGame", hasTag = true , tag = 1 ) + kickedFromGame , + @ASN1EnumItem ( name = "gameIsFull", hasTag = true , tag = 2 ) + gameIsFull , + @ASN1EnumItem ( name = "gameIsRunning", hasTag = true , tag = 3 ) + gameIsRunning , + @ASN1EnumItem ( name = "gameTimeout", hasTag = true , tag = 4 ) + gameTimeout , + @ASN1EnumItem ( name = "removedStartFailed", hasTag = true , tag = 5 ) + removedStartFailed , + } + + private EnumType value; + private Integer integerForm; + + public EnumType getValue() { + return this.value; + } + + public void setValue(EnumType value) { + this.value = value; + } + + public Integer getIntegerForm() { + return integerForm; + } + + public void setIntegerForm(Integer value) { + integerForm = value; + } + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(RemovedFromGameReasonEnumType.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + } + + @ASN1Element ( name = "removedFromGameReason", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private RemovedFromGameReasonEnumType removedFromGameReason = null; + + + + public RemovedFromGameReasonEnumType getRemovedFromGameReason () { + return this.removedFromGameReason; + } + + + + public void setRemovedFromGameReason (RemovedFromGameReasonEnumType value) { + this.removedFromGameReason = value; + } + + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(RemovedFromGame.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/ResetTimeoutMessage.java b/tests/src/pokerth_protocol/ResetTimeoutMessage.java new file mode 100644 index 00000000..258f6359 --- /dev/null +++ b/tests/src/pokerth_protocol/ResetTimeoutMessage.java @@ -0,0 +1,77 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "ResetTimeoutMessage" ) + public class ResetTimeoutMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "ResetTimeoutMessage" , isSet = false ) + public static class ResetTimeoutMessageSequenceType implements IASN1PreparedElement { + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_ResetTimeoutMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_ResetTimeoutMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(ResetTimeoutMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "ResetTimeoutMessage", isOptional = false , hasTag = true, tag = 133, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private ResetTimeoutMessageSequenceType value; + + + + public ResetTimeoutMessage () { + } + + + + public void setValue(ResetTimeoutMessageSequenceType value) { + this.value = value; + } + + + + public ResetTimeoutMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(ResetTimeoutMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/ShowMyCardsRequestMessage.java b/tests/src/pokerth_protocol/ShowMyCardsRequestMessage.java new file mode 100644 index 00000000..d2e542ca --- /dev/null +++ b/tests/src/pokerth_protocol/ShowMyCardsRequestMessage.java @@ -0,0 +1,77 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "ShowMyCardsRequestMessage" ) + public class ShowMyCardsRequestMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "ShowMyCardsRequestMessage" , isSet = false ) + public static class ShowMyCardsRequestMessageSequenceType implements IASN1PreparedElement { + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_ShowMyCardsRequestMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_ShowMyCardsRequestMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(ShowMyCardsRequestMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "ShowMyCardsRequestMessage", isOptional = false , hasTag = true, tag = 33, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private ShowMyCardsRequestMessageSequenceType value; + + + + public ShowMyCardsRequestMessage () { + } + + + + public void setValue(ShowMyCardsRequestMessageSequenceType value) { + this.value = value; + } + + + + public ShowMyCardsRequestMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(ShowMyCardsRequestMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/StartEventAckMessage.java b/tests/src/pokerth_protocol/StartEventAckMessage.java new file mode 100644 index 00000000..694876af --- /dev/null +++ b/tests/src/pokerth_protocol/StartEventAckMessage.java @@ -0,0 +1,94 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "StartEventAckMessage" ) + public class StartEventAckMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "StartEventAckMessage" , isSet = false ) + public static class StartEventAckMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "gameId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId gameId = null; + + + + public NonZeroId getGameId () { + return this.gameId; + } + + + + public void setGameId (NonZeroId value) { + this.gameId = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_StartEventAckMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_StartEventAckMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(StartEventAckMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "StartEventAckMessage", isOptional = false , hasTag = true, tag = 21, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private StartEventAckMessageSequenceType value; + + + + public StartEventAckMessage () { + } + + + + public void setValue(StartEventAckMessageSequenceType value) { + this.value = value; + } + + + + public StartEventAckMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(StartEventAckMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/StartEventMessage.java b/tests/src/pokerth_protocol/StartEventMessage.java new file mode 100644 index 00000000..93e77d52 --- /dev/null +++ b/tests/src/pokerth_protocol/StartEventMessage.java @@ -0,0 +1,112 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "StartEventMessage" ) + public class StartEventMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "StartEventMessage" , isSet = false ) + public static class StartEventMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "gameId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId gameId = null; + + @ASN1Boolean( name = "" ) + + @ASN1Element ( name = "fillWithComputerPlayers", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Boolean fillWithComputerPlayers = null; + + + + public NonZeroId getGameId () { + return this.gameId; + } + + + + public void setGameId (NonZeroId value) { + this.gameId = value; + } + + + + public Boolean getFillWithComputerPlayers () { + return this.fillWithComputerPlayers; + } + + + + public void setFillWithComputerPlayers (Boolean value) { + this.fillWithComputerPlayers = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_StartEventMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_StartEventMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(StartEventMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "StartEventMessage", isOptional = false , hasTag = true, tag = 20, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private StartEventMessageSequenceType value; + + + + public StartEventMessage () { + } + + + + public void setValue(StartEventMessageSequenceType value) { + this.value = value; + } + + + + public StartEventMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(StartEventMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/StartKickPetitionMessage.java b/tests/src/pokerth_protocol/StartKickPetitionMessage.java new file mode 100644 index 00000000..6f4795bf --- /dev/null +++ b/tests/src/pokerth_protocol/StartKickPetitionMessage.java @@ -0,0 +1,195 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "StartKickPetitionMessage" ) + public class StartKickPetitionMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "StartKickPetitionMessage" , isSet = false ) + public static class StartKickPetitionMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "gameId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId gameId = null; + + + @ASN1Element ( name = "petitionId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId petitionId = null; + + + @ASN1Element ( name = "proposingPlayerId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId proposingPlayerId = null; + + + @ASN1Element ( name = "kickPlayerId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId kickPlayerId = null; + + @ASN1Integer( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 1L, + + max = 120L + + ) + + @ASN1Element ( name = "kickTimeoutSec", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Integer kickTimeoutSec = null; + + @ASN1Integer( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 1L, + + max = 9L + + ) + + @ASN1Element ( name = "numVotesNeededToKick", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Integer numVotesNeededToKick = null; + + + + public NonZeroId getGameId () { + return this.gameId; + } + + + + public void setGameId (NonZeroId value) { + this.gameId = value; + } + + + + public NonZeroId getPetitionId () { + return this.petitionId; + } + + + + public void setPetitionId (NonZeroId value) { + this.petitionId = value; + } + + + + public NonZeroId getProposingPlayerId () { + return this.proposingPlayerId; + } + + + + public void setProposingPlayerId (NonZeroId value) { + this.proposingPlayerId = value; + } + + + + public NonZeroId getKickPlayerId () { + return this.kickPlayerId; + } + + + + public void setKickPlayerId (NonZeroId value) { + this.kickPlayerId = value; + } + + + + public Integer getKickTimeoutSec () { + return this.kickTimeoutSec; + } + + + + public void setKickTimeoutSec (Integer value) { + this.kickTimeoutSec = value; + } + + + + public Integer getNumVotesNeededToKick () { + return this.numVotesNeededToKick; + } + + + + public void setNumVotesNeededToKick (Integer value) { + this.numVotesNeededToKick = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_StartKickPetitionMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_StartKickPetitionMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(StartKickPetitionMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "StartKickPetitionMessage", isOptional = false , hasTag = true, tag = 66, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private StartKickPetitionMessageSequenceType value; + + + + public StartKickPetitionMessage () { + } + + + + public void setValue(StartKickPetitionMessageSequenceType value) { + this.value = value; + } + + + + public StartKickPetitionMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(StartKickPetitionMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/StatisticsData.java b/tests/src/pokerth_protocol/StatisticsData.java new file mode 100644 index 00000000..3ab046b8 --- /dev/null +++ b/tests/src/pokerth_protocol/StatisticsData.java @@ -0,0 +1,111 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "StatisticsData", isSet = false ) + public class StatisticsData implements IASN1PreparedElement { + + + @ASN1PreparedElement + @ASN1Enum ( + name = "StatisticsTypeEnumType" + ) + public static class StatisticsTypeEnumType implements IASN1PreparedElement { + public enum EnumType { + + @ASN1EnumItem ( name = "statNumberOfPlayers", hasTag = true , tag = 1 ) + statNumberOfPlayers , + } + + private EnumType value; + private Integer integerForm; + + public EnumType getValue() { + return this.value; + } + + public void setValue(EnumType value) { + this.value = value; + } + + public Integer getIntegerForm() { + return integerForm; + } + + public void setIntegerForm(Integer value) { + integerForm = value; + } + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(StatisticsTypeEnumType.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + } + + @ASN1Element ( name = "statisticsType", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private StatisticsTypeEnumType statisticsType = null; + + @ASN1Integer( name = "" ) + + @ASN1Element ( name = "statisticsValue", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Long statisticsValue = null; + + + + public StatisticsTypeEnumType getStatisticsType () { + return this.statisticsType; + } + + + + public void setStatisticsType (StatisticsTypeEnumType value) { + this.statisticsType = value; + } + + + + public Long getStatisticsValue () { + return this.statisticsValue; + } + + + + public void setStatisticsValue (Long value) { + this.statisticsValue = value; + } + + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(StatisticsData.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/StatisticsMessage.java b/tests/src/pokerth_protocol/StatisticsMessage.java new file mode 100644 index 00000000..a46150ad --- /dev/null +++ b/tests/src/pokerth_protocol/StatisticsMessage.java @@ -0,0 +1,104 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "StatisticsMessage" ) + public class StatisticsMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "StatisticsMessage" , isSet = false ) + public static class StatisticsMessageSequenceType implements IASN1PreparedElement { + +@ASN1SequenceOf( name = "statisticsData", isSetOf = false ) + + @ASN1ValueRangeConstraint ( + + min = 1L, + + max = 32L + + ) + + @ASN1Element ( name = "statisticsData", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private java.util.Collection statisticsData = null; + + + + public java.util.Collection getStatisticsData () { + return this.statisticsData; + } + + + + public void setStatisticsData (java.util.Collection value) { + this.statisticsData = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_StatisticsMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_StatisticsMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(StatisticsMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "StatisticsMessage", isOptional = false , hasTag = true, tag = 128, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private StatisticsMessageSequenceType value; + + + + public StatisticsMessage () { + } + + + + public void setValue(StatisticsMessageSequenceType value) { + this.value = value; + } + + + + public StatisticsMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(StatisticsMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/SubscriptionRequestMessage.java b/tests/src/pokerth_protocol/SubscriptionRequestMessage.java new file mode 100644 index 00000000..c1fd9616 --- /dev/null +++ b/tests/src/pokerth_protocol/SubscriptionRequestMessage.java @@ -0,0 +1,137 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "SubscriptionRequestMessage" ) + public class SubscriptionRequestMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "SubscriptionRequestMessage" , isSet = false ) + public static class SubscriptionRequestMessageSequenceType implements IASN1PreparedElement { + + + @ASN1PreparedElement + @ASN1Enum ( + name = "SubscriptionActionEnumType" + ) + public static class SubscriptionActionEnumType implements IASN1PreparedElement { + public enum EnumType { + + @ASN1EnumItem ( name = "unsubscribeGameList", hasTag = true , tag = 1 ) + unsubscribeGameList , + @ASN1EnumItem ( name = "resubscribeGameList", hasTag = true , tag = 2 ) + resubscribeGameList , + } + + private EnumType value; + private Integer integerForm; + + public EnumType getValue() { + return this.value; + } + + public void setValue(EnumType value) { + this.value = value; + } + + public Integer getIntegerForm() { + return integerForm; + } + + public void setIntegerForm(Integer value) { + integerForm = value; + } + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(SubscriptionActionEnumType.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + } + + @ASN1Element ( name = "subscriptionAction", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private SubscriptionActionEnumType subscriptionAction = null; + + + + public SubscriptionActionEnumType getSubscriptionAction () { + return this.subscriptionAction; + } + + + + public void setSubscriptionAction (SubscriptionActionEnumType value) { + this.subscriptionAction = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_SubscriptionRequestMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_SubscriptionRequestMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(SubscriptionRequestMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "SubscriptionRequestMessage", isOptional = false , hasTag = true, tag = 10, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private SubscriptionRequestMessageSequenceType value; + + + + public SubscriptionRequestMessage () { + } + + + + public void setValue(SubscriptionRequestMessageSequenceType value) { + this.value = value; + } + + + + public SubscriptionRequestMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(SubscriptionRequestMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/TimeoutWarningMessage.java b/tests/src/pokerth_protocol/TimeoutWarningMessage.java new file mode 100644 index 00000000..416def41 --- /dev/null +++ b/tests/src/pokerth_protocol/TimeoutWarningMessage.java @@ -0,0 +1,155 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "TimeoutWarningMessage" ) + public class TimeoutWarningMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "TimeoutWarningMessage" , isSet = false ) + public static class TimeoutWarningMessageSequenceType implements IASN1PreparedElement { + + + @ASN1PreparedElement + @ASN1Enum ( + name = "TimeoutReasonEnumType" + ) + public static class TimeoutReasonEnumType implements IASN1PreparedElement { + public enum EnumType { + + @ASN1EnumItem ( name = "timeoutNoDataReceived", hasTag = true , tag = 0 ) + timeoutNoDataReceived , + @ASN1EnumItem ( name = "timeoutInactiveGame", hasTag = true , tag = 1 ) + timeoutInactiveGame , + } + + private EnumType value; + private Integer integerForm; + + public EnumType getValue() { + return this.value; + } + + public void setValue(EnumType value) { + this.value = value; + } + + public Integer getIntegerForm() { + return integerForm; + } + + public void setIntegerForm(Integer value) { + integerForm = value; + } + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(TimeoutReasonEnumType.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + } + + @ASN1Element ( name = "timeoutReason", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private TimeoutReasonEnumType timeoutReason = null; + + @ASN1Integer( name = "" ) + + @ASN1Element ( name = "remainingSeconds", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Long remainingSeconds = null; + + + + public TimeoutReasonEnumType getTimeoutReason () { + return this.timeoutReason; + } + + + + public void setTimeoutReason (TimeoutReasonEnumType value) { + this.timeoutReason = value; + } + + + + public Long getRemainingSeconds () { + return this.remainingSeconds; + } + + + + public void setRemainingSeconds (Long value) { + this.remainingSeconds = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_TimeoutWarningMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_TimeoutWarningMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(TimeoutWarningMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "TimeoutWarningMessage", isOptional = false , hasTag = true, tag = 132, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private TimeoutWarningMessageSequenceType value; + + + + public TimeoutWarningMessage () { + } + + + + public void setValue(TimeoutWarningMessageSequenceType value) { + this.value = value; + } + + + + public TimeoutWarningMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(TimeoutWarningMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/UnauthenticatedLogin.java b/tests/src/pokerth_protocol/UnauthenticatedLogin.java new file mode 100644 index 00000000..08000bfe --- /dev/null +++ b/tests/src/pokerth_protocol/UnauthenticatedLogin.java @@ -0,0 +1,83 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "UnauthenticatedLogin", isSet = false ) + public class UnauthenticatedLogin implements IASN1PreparedElement { + + @ASN1String( name = "", + stringType = UniversalTag.UTF8String , isUCS = false ) + @ASN1ValueRangeConstraint ( + + min = 1L, + + max = 64L + + ) + + @ASN1Element ( name = "nickName", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private String nickName = null; + + + @ASN1Element ( name = "avatar", isOptional = true , hasTag = false , hasDefaultValue = false ) + + private AvatarHash avatar = null; + + + + public String getNickName () { + return this.nickName; + } + + + + public void setNickName (String value) { + this.nickName = value; + } + + + + public AvatarHash getAvatar () { + return this.avatar; + } + + + public boolean isAvatarPresent () { + return this.avatar != null; + } + + + public void setAvatar (AvatarHash value) { + this.avatar = value; + } + + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(UnauthenticatedLogin.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/UnknownAvatar.java b/tests/src/pokerth_protocol/UnknownAvatar.java new file mode 100644 index 00000000..f8e2c284 --- /dev/null +++ b/tests/src/pokerth_protocol/UnknownAvatar.java @@ -0,0 +1,35 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "UnknownAvatar", isSet = false ) + public class UnknownAvatar implements IASN1PreparedElement { + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(UnknownAvatar.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/UnknownPlayerInfo.java b/tests/src/pokerth_protocol/UnknownPlayerInfo.java new file mode 100644 index 00000000..a4f4ed9f --- /dev/null +++ b/tests/src/pokerth_protocol/UnknownPlayerInfo.java @@ -0,0 +1,35 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "UnknownPlayerInfo", isSet = false ) + public class UnknownPlayerInfo implements IASN1PreparedElement { + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(UnknownPlayerInfo.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/Version.java b/tests/src/pokerth_protocol/Version.java new file mode 100644 index 00000000..5e249ec5 --- /dev/null +++ b/tests/src/pokerth_protocol/Version.java @@ -0,0 +1,85 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "Version", isSet = false ) + public class Version implements IASN1PreparedElement { + @ASN1Integer( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 0L, + + max = 65535L + + ) + + @ASN1Element ( name = "major", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Integer major = null; + + @ASN1Integer( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 0L, + + max = 65535L + + ) + + @ASN1Element ( name = "minor", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Integer minor = null; + + + + public Integer getMajor () { + return this.major; + } + + + + public void setMajor (Integer value) { + this.major = value; + } + + + + public Integer getMinor () { + return this.minor; + } + + + + public void setMinor (Integer value) { + this.minor = value; + } + + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(Version.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/VoteKickAck.java b/tests/src/pokerth_protocol/VoteKickAck.java new file mode 100644 index 00000000..26d673c3 --- /dev/null +++ b/tests/src/pokerth_protocol/VoteKickAck.java @@ -0,0 +1,35 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "VoteKickAck", isSet = false ) + public class VoteKickAck implements IASN1PreparedElement { + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(VoteKickAck.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/VoteKickDenied.java b/tests/src/pokerth_protocol/VoteKickDenied.java new file mode 100644 index 00000000..f2ceaad1 --- /dev/null +++ b/tests/src/pokerth_protocol/VoteKickDenied.java @@ -0,0 +1,95 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "VoteKickDenied", isSet = false ) + public class VoteKickDenied implements IASN1PreparedElement { + + + @ASN1PreparedElement + @ASN1Enum ( + name = "VoteKickDeniedReasonEnumType" + ) + public static class VoteKickDeniedReasonEnumType implements IASN1PreparedElement { + public enum EnumType { + + @ASN1EnumItem ( name = "voteKickDeniedInvalid", hasTag = true , tag = 0 ) + voteKickDeniedInvalid , + @ASN1EnumItem ( name = "voteKickDeniedAlreadyVoted", hasTag = true , tag = 1 ) + voteKickDeniedAlreadyVoted , + } + + private EnumType value; + private Integer integerForm; + + public EnumType getValue() { + return this.value; + } + + public void setValue(EnumType value) { + this.value = value; + } + + public Integer getIntegerForm() { + return integerForm; + } + + public void setIntegerForm(Integer value) { + integerForm = value; + } + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(VoteKickDeniedReasonEnumType.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + } + + @ASN1Element ( name = "voteKickDeniedReason", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private VoteKickDeniedReasonEnumType voteKickDeniedReason = null; + + + + public VoteKickDeniedReasonEnumType getVoteKickDeniedReason () { + return this.voteKickDeniedReason; + } + + + + public void setVoteKickDeniedReason (VoteKickDeniedReasonEnumType value) { + this.voteKickDeniedReason = value; + } + + + + + public void initWithDefaults() { + + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(VoteKickDenied.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/VoteKickReplyMessage.java b/tests/src/pokerth_protocol/VoteKickReplyMessage.java new file mode 100644 index 00000000..d280b4ce --- /dev/null +++ b/tests/src/pokerth_protocol/VoteKickReplyMessage.java @@ -0,0 +1,202 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "VoteKickReplyMessage" ) + public class VoteKickReplyMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "VoteKickReplyMessage" , isSet = false ) + public static class VoteKickReplyMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "gameId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId gameId = null; + + + @ASN1Element ( name = "petitionId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId petitionId = null; + + + + @ASN1PreparedElement + @ASN1Choice ( name = "voteKickReplyType" ) + public static class VoteKickReplyTypeChoiceType implements IASN1PreparedElement { + + @ASN1Element ( name = "voteKickAck", isOptional = false , hasTag = true, tag = 0 , hasDefaultValue = false ) + + private VoteKickAck voteKickAck = null; + + + @ASN1Element ( name = "voteKickDenied", isOptional = false , hasTag = true, tag = 1 , hasDefaultValue = false ) + + private VoteKickDenied voteKickDenied = null; + + + + public VoteKickAck getVoteKickAck () { + return this.voteKickAck; + } + + public boolean isVoteKickAckSelected () { + return this.voteKickAck != null; + } + + private void setVoteKickAck (VoteKickAck value) { + this.voteKickAck = value; + } + + + public void selectVoteKickAck (VoteKickAck value) { + this.voteKickAck = value; + + setVoteKickDenied(null); + + } + + + + + public VoteKickDenied getVoteKickDenied () { + return this.voteKickDenied; + } + + public boolean isVoteKickDeniedSelected () { + return this.voteKickDenied != null; + } + + private void setVoteKickDenied (VoteKickDenied value) { + this.voteKickDenied = value; + } + + + public void selectVoteKickDenied (VoteKickDenied value) { + this.voteKickDenied = value; + + setVoteKickAck(null); + + } + + + + + public void initWithDefaults() { + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_VoteKickReplyTypeChoiceType; + } + + private static IASN1PreparedElementData preparedData_VoteKickReplyTypeChoiceType = CoderFactory.getInstance().newPreparedElementData(VoteKickReplyTypeChoiceType.class); + + } + + + @ASN1Element ( name = "voteKickReplyType", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private VoteKickReplyTypeChoiceType voteKickReplyType = null; + + + + public NonZeroId getGameId () { + return this.gameId; + } + + + + public void setGameId (NonZeroId value) { + this.gameId = value; + } + + + + public NonZeroId getPetitionId () { + return this.petitionId; + } + + + + public void setPetitionId (NonZeroId value) { + this.petitionId = value; + } + + + + public VoteKickReplyTypeChoiceType getVoteKickReplyType () { + return this.voteKickReplyType; + } + + + + public void setVoteKickReplyType (VoteKickReplyTypeChoiceType value) { + this.voteKickReplyType = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_VoteKickReplyMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_VoteKickReplyMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(VoteKickReplyMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "VoteKickReplyMessage", isOptional = false , hasTag = true, tag = 68, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private VoteKickReplyMessageSequenceType value; + + + + public VoteKickReplyMessage () { + } + + + + public void setValue(VoteKickReplyMessageSequenceType value) { + this.value = value; + } + + + + public VoteKickReplyMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(VoteKickReplyMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/VoteKickRequestMessage.java b/tests/src/pokerth_protocol/VoteKickRequestMessage.java new file mode 100644 index 00000000..9f4c3a87 --- /dev/null +++ b/tests/src/pokerth_protocol/VoteKickRequestMessage.java @@ -0,0 +1,129 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "VoteKickRequestMessage" ) + public class VoteKickRequestMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "VoteKickRequestMessage" , isSet = false ) + public static class VoteKickRequestMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "gameId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId gameId = null; + + + @ASN1Element ( name = "petitionId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId petitionId = null; + + @ASN1Boolean( name = "" ) + + @ASN1Element ( name = "voteKick", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Boolean voteKick = null; + + + + public NonZeroId getGameId () { + return this.gameId; + } + + + + public void setGameId (NonZeroId value) { + this.gameId = value; + } + + + + public NonZeroId getPetitionId () { + return this.petitionId; + } + + + + public void setPetitionId (NonZeroId value) { + this.petitionId = value; + } + + + + public Boolean getVoteKick () { + return this.voteKick; + } + + + + public void setVoteKick (Boolean value) { + this.voteKick = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_VoteKickRequestMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_VoteKickRequestMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(VoteKickRequestMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "VoteKickRequestMessage", isOptional = false , hasTag = true, tag = 67, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private VoteKickRequestMessageSequenceType value; + + + + public VoteKickRequestMessage () { + } + + + + public void setValue(VoteKickRequestMessageSequenceType value) { + this.value = value; + } + + + + public VoteKickRequestMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(VoteKickRequestMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_protocol/YourActionRejectedMessage.java b/tests/src/pokerth_protocol/YourActionRejectedMessage.java new file mode 100644 index 00000000..160cb1aa --- /dev/null +++ b/tests/src/pokerth_protocol/YourActionRejectedMessage.java @@ -0,0 +1,215 @@ + +package pokerth_protocol; +// +// This file was generated by the BinaryNotes compiler. +// See http://bnotes.sourceforge.net +// Any modifications to this file will be lost upon recompilation of the source ASN.1. +// + +import org.bn.*; +import org.bn.annotations.*; +import org.bn.annotations.constraints.*; +import org.bn.coders.*; +import org.bn.types.*; + + + + + @ASN1PreparedElement + @ASN1BoxedType ( name = "YourActionRejectedMessage" ) + public class YourActionRejectedMessage implements IASN1PreparedElement { + + + + @ASN1PreparedElement + @ASN1Sequence ( name = "YourActionRejectedMessage" , isSet = false ) + public static class YourActionRejectedMessageSequenceType implements IASN1PreparedElement { + + @ASN1Element ( name = "gameId", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NonZeroId gameId = null; + + + @ASN1Element ( name = "gameState", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NetGameState gameState = null; + + + @ASN1Element ( name = "yourAction", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private NetPlayerAction yourAction = null; + + @ASN1Integer( name = "" ) + @ASN1ValueRangeConstraint ( + + min = 0L, + + max = 10000000L + + ) + + @ASN1Element ( name = "yourRelativeBet", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private Integer yourRelativeBet = null; + + + + @ASN1PreparedElement + @ASN1Enum ( + name = "RejectionReasonEnumType" + ) + public static class RejectionReasonEnumType implements IASN1PreparedElement { + public enum EnumType { + + @ASN1EnumItem ( name = "rejectedInvalidGameState", hasTag = true , tag = 1 ) + rejectedInvalidGameState , + @ASN1EnumItem ( name = "rejectedNotYourTurn", hasTag = true , tag = 2 ) + rejectedNotYourTurn , + @ASN1EnumItem ( name = "rejectedActionNotAllowed", hasTag = true , tag = 3 ) + rejectedActionNotAllowed , + } + + private EnumType value; + private Integer integerForm; + + public EnumType getValue() { + return this.value; + } + + public void setValue(EnumType value) { + this.value = value; + } + + public Integer getIntegerForm() { + return integerForm; + } + + public void setIntegerForm(Integer value) { + integerForm = value; + } + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(RejectionReasonEnumType.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + } + + @ASN1Element ( name = "rejectionReason", isOptional = false , hasTag = false , hasDefaultValue = false ) + + private RejectionReasonEnumType rejectionReason = null; + + + + public NonZeroId getGameId () { + return this.gameId; + } + + + + public void setGameId (NonZeroId value) { + this.gameId = value; + } + + + + public NetGameState getGameState () { + return this.gameState; + } + + + + public void setGameState (NetGameState value) { + this.gameState = value; + } + + + + public NetPlayerAction getYourAction () { + return this.yourAction; + } + + + + public void setYourAction (NetPlayerAction value) { + this.yourAction = value; + } + + + + public Integer getYourRelativeBet () { + return this.yourRelativeBet; + } + + + + public void setYourRelativeBet (Integer value) { + this.yourRelativeBet = value; + } + + + + public RejectionReasonEnumType getRejectionReason () { + return this.rejectionReason; + } + + + + public void setRejectionReason (RejectionReasonEnumType value) { + this.rejectionReason = value; + } + + + + + public void initWithDefaults() { + + } + + public IASN1PreparedElementData getPreparedData() { + return preparedData_YourActionRejectedMessageSequenceType; + } + + private static IASN1PreparedElementData preparedData_YourActionRejectedMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(YourActionRejectedMessageSequenceType.class); + + } + + + + @ASN1Element ( name = "YourActionRejectedMessage", isOptional = false , hasTag = true, tag = 26, + tagClass = TagClass.Application , hasDefaultValue = false ) + + private YourActionRejectedMessageSequenceType value; + + + + public YourActionRejectedMessage () { + } + + + + public void setValue(YourActionRejectedMessageSequenceType value) { + this.value = value; + } + + + + public YourActionRejectedMessageSequenceType getValue() { + return this.value; + } + + + public void initWithDefaults() { + } + + private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(YourActionRejectedMessage.class); + public IASN1PreparedElementData getPreparedData() { + return preparedData; + } + + + } + \ No newline at end of file diff --git a/tests/src/pokerth_test/AllTests.java b/tests/src/pokerth_test/AllTests.java new file mode 100644 index 00000000..692589d9 --- /dev/null +++ b/tests/src/pokerth_test/AllTests.java @@ -0,0 +1,39 @@ +/* PokerTH automated tests. + Copyright (C) 2010 Lothar May + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . +*/ + +package pokerth_test; + +import org.junit.internal.TextListener; +import org.junit.runner.JUnitCore; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +@RunWith(Suite.class) +@Suite.SuiteClasses( { + GuestLoginTest.class, + AuthLoginTest.class, + CreateGameTest.class +}) +public class AllTests { + public static void main(String[] args) + { + JUnitCore junit = new JUnitCore(); + junit.addListener(new TextListener(System.out)); + if (!junit.run(AllTests.class).wasSuccessful()) + System.exit(1); + } +} diff --git a/tests/src/pokerth_test/AuthLoginTest.java b/tests/src/pokerth_test/AuthLoginTest.java new file mode 100644 index 00000000..30c8d99e --- /dev/null +++ b/tests/src/pokerth_test/AuthLoginTest.java @@ -0,0 +1,111 @@ +/* PokerTH automated tests. + Copyright (C) 2010 Lothar May + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . +*/ + +package pokerth_test; + +import static org.junit.Assert.*; +import org.junit.Test; + +import pokerth_protocol.*; +import pokerth_protocol.AnnounceMessage.AnnounceMessageSequenceType.ServerTypeEnumType; +import pokerth_protocol.AuthMessage.AuthMessageChoiceType; +import pokerth_protocol.InitMessage.*; +import pokerth_protocol.InitMessage.InitMessageSequenceType.LoginChoiceType; + +public class AuthLoginTest extends TestBase { + + @Test + public void testAuthLogin() throws Exception { + PokerTHMessage msg = receiveMessage(); + AnnounceMessage announce = msg.getAnnounceMessage(); + assertTrue(announce.getValue().getServerType().getValue() == ServerTypeEnumType.EnumType.serverTypeInternetAuth); + + ScramSha1 scramAuth = new ScramSha1(); + + // Send challenge. + Version requestedVersion = new Version(); + requestedVersion.setMajor(PROTOCOL_VERSION_MAJOR); + requestedVersion.setMinor(PROTOCOL_VERSION_MINOR); + AuthenticatedLogin authLogin = new AuthenticatedLogin(); + authLogin.setClientUserData(scramAuth.executeStep1(AuthUser).getBytes()); + LoginChoiceType loginType = new LoginChoiceType(); + loginType.selectAuthenticatedLogin(authLogin); + InitMessageSequenceType msgType = new InitMessageSequenceType(); + msgType.setBuildId(0L); + msgType.setLogin(loginType); + msgType.setRequestedVersion(requestedVersion); + InitMessage init = new InitMessage(); + init.setValue(msgType); + msg = new PokerTHMessage(); + msg.selectInitMessage(init); + sendMessage(msg); + + msg = receiveMessage(); + + if (msg.isAuthMessageSelected() && msg.getAuthMessage().getValue().isAuthServerChallengeSelected()) + { + String serverFirstMessage = new String(msg.getAuthMessage().getValue().getAuthServerChallenge().getServerChallenge()); + AuthClientResponse authClient = new AuthClientResponse(); + authClient.setClientResponse(scramAuth.executeStep2(AuthPassword, serverFirstMessage).getBytes()); + AuthMessageChoiceType authChoice = new AuthMessageChoiceType(); + authChoice.selectAuthClientResponse(authClient); + AuthMessage authResponse = new AuthMessage(); + authResponse.setValue(authChoice); + + msg = new PokerTHMessage(); + msg.selectAuthMessage(authResponse); + sendMessage(msg); + } + else if (msg.isErrorMessageSelected()) + { + ErrorMessage error = msg.getErrorMessage(); + fail("Received error: " + error.getValue().getErrorReason().getValue().toString()); + } + else + { + fail("Invalid auth message."); + } + + msg = receiveMessage(); + if (msg.isErrorMessageSelected()) + { + ErrorMessage error = msg.getErrorMessage(); + fail("Received error: " + error.getValue().getErrorReason().getValue().toString()); + } + else if (!msg.isAuthMessageSelected() || !msg.getAuthMessage().getValue().isAuthServerVerificationSelected()) + { + fail("Invalid auth message."); + } + + msg = receiveMessage(); + if (msg.isInitAckMessageSelected()) + { + InitAckMessage initAck = msg.getInitAckMessage(); + assertTrue(initAck.getValue().getYourPlayerId().getValue() != 0L); + assertTrue(!initAck.getValue().isYourAvatarPresent()); + } + else if (msg.isErrorMessageSelected()) + { + ErrorMessage error = msg.getErrorMessage(); + fail("Received error: " + error.getValue().getErrorReason().getValue().toString()); + } + else + { + fail("Invalid response message."); + } + } +} diff --git a/tests/src/pokerth_test/Base64Coder.java b/tests/src/pokerth_test/Base64Coder.java new file mode 100644 index 00000000..02dd5c1b --- /dev/null +++ b/tests/src/pokerth_test/Base64Coder.java @@ -0,0 +1,227 @@ + +//Copyright 2003-2010 Christian d'Heureuse, Inventec Informatik AG, Zurich, Switzerland +//www.source-code.biz, www.inventec.ch/chdh +// +//This module is multi-licensed and may be used under the terms +//of any of the following licenses: +// +//EPL, Eclipse Public License, V1.0 or later, http://www.eclipse.org/legal +//LGPL, GNU Lesser General Public License, V2.1 or later, http://www.gnu.org/licenses/lgpl.html +//GPL, GNU General Public License, V2 or later, http://www.gnu.org/licenses/gpl.html +//AL, Apache License, V2.0 or later, http://www.apache.org/licenses +//BSD, BSD License, http://www.opensource.org/licenses/bsd-license.php +// +//Please contact the author if you need another license. +//This module is provided "as is", without warranties of any kind. + +package pokerth_test; + +/** +* A Base64 encoder/decoder. +* +*

+* This class is used to encode and decode data in Base64 format as described in RFC 1521. +* +*

+* Project home page: www.source-code.biz/base64coder/java
+* Author: Christian d'Heureuse, Inventec Informatik AG, Zurich, Switzerland
+* Multi-licensed: EPL / LGPL / GPL / AL / BSD. +*/ +public class Base64Coder { + +//The line separator string of the operating system. +private static final String systemLineSeparator = System.getProperty("line.separator"); + +//Mapping table from 6-bit nibbles to Base64 characters. +private static char[] map1 = new char[64]; +static { + int i=0; + for (char c='A'; c<='Z'; c++) map1[i++] = c; + for (char c='a'; c<='z'; c++) map1[i++] = c; + for (char c='0'; c<='9'; c++) map1[i++] = c; + map1[i++] = '+'; map1[i++] = '/'; } + +//Mapping table from Base64 characters to 6-bit nibbles. +private static byte[] map2 = new byte[128]; +static { + for (int i=0; isun.misc.BASE64Encoder.encodeBuffer(byte[]). +* @param in An array containing the data bytes to be encoded. +* @return A String containing the Base64 encoded data, broken into lines. +*/ +public static String encodeLines (byte[] in) { +return encodeLines(in, 0, in.length, 76, systemLineSeparator); } + +/** +* Encodes a byte array into Base 64 format and breaks the output into lines. +* @param in An array containing the data bytes to be encoded. +* @param iOff Offset of the first byte in in to be processed. +* @param iLen Number of bytes to be processed in in, starting at iOff. +* @param lineLen Line length for the output data. Should be a multiple of 4. +* @param lineSeparator The line separator to be used to separate the output lines. +* @return A String containing the Base64 encoded data, broken into lines. +*/ +public static String encodeLines (byte[] in, int iOff, int iLen, int lineLen, String lineSeparator) { +int blockLen = (lineLen*3) / 4; +if (blockLen <= 0) throw new IllegalArgumentException(); +int lines = (iLen+blockLen-1) / blockLen; +int bufLen = ((iLen+2)/3)*4 + lines*lineSeparator.length(); +StringBuilder buf = new StringBuilder(bufLen); +int ip = 0; +while (ip < iLen) { + int l = Math.min(iLen-ip, blockLen); + buf.append (encode(in, iOff+ip, l)); + buf.append (lineSeparator); + ip += l; } +return buf.toString(); } + +/** +* Encodes a byte array into Base64 format. +* No blanks or line breaks are inserted in the output. +* @param in An array containing the data bytes to be encoded. +* @return A character array containing the Base64 encoded data. +*/ +public static char[] encode (byte[] in) { +return encode(in, 0, in.length); } + +/** +* Encodes a byte array into Base64 format. +* No blanks or line breaks are inserted in the output. +* @param in An array containing the data bytes to be encoded. +* @param iLen Number of bytes to process in in. +* @return A character array containing the Base64 encoded data. +*/ +public static char[] encode (byte[] in, int iLen) { +return encode(in, 0, iLen); } + +/** +* Encodes a byte array into Base64 format. +* No blanks or line breaks are inserted in the output. +* @param in An array containing the data bytes to be encoded. +* @param iOff Offset of the first byte in in to be processed. +* @param iLen Number of bytes to process in in, starting at iOff. +* @return A character array containing the Base64 encoded data. +*/ +public static char[] encode (byte[] in, int iOff, int iLen) { +int oDataLen = (iLen*4+2)/3; // output length without padding +int oLen = ((iLen+2)/3)*4; // output length including padding +char[] out = new char[oLen]; +int ip = iOff; +int iEnd = iOff + iLen; +int op = 0; +while (ip < iEnd) { + int i0 = in[ip++] & 0xff; + int i1 = ip < iEnd ? in[ip++] & 0xff : 0; + int i2 = ip < iEnd ? in[ip++] & 0xff : 0; + int o0 = i0 >>> 2; + int o1 = ((i0 & 3) << 4) | (i1 >>> 4); + int o2 = ((i1 & 0xf) << 2) | (i2 >>> 6); + int o3 = i2 & 0x3F; + out[op++] = map1[o0]; + out[op++] = map1[o1]; + out[op] = op < oDataLen ? map1[o2] : '='; op++; + out[op] = op < oDataLen ? map1[o3] : '='; op++; } +return out; } + +/** +* Decodes a string from Base64 format. +* No blanks or line breaks are allowed within the Base64 encoded input data. +* @param s A Base64 String to be decoded. +* @return A String containing the decoded data. +* @throws IllegalArgumentException If the input is not valid Base64 encoded data. +*/ +public static String decodeString (String s) { +return new String(decode(s)); } + +/** +* Decodes a byte array from Base64 format and ignores line separators, tabs and blanks. +* CR, LF, Tab and Space characters are ignored in the input data. +* This method is compatible with sun.misc.BASE64Decoder.decodeBuffer(String). +* @param s A Base64 String to be decoded. +* @return An array containing the decoded data bytes. +* @throws IllegalArgumentException If the input is not valid Base64 encoded data. +*/ +public static byte[] decodeLines (String s) { +char[] buf = new char[s.length()]; +int p = 0; +for (int ip = 0; ip < s.length(); ip++) { + char c = s.charAt(ip); + if (c != ' ' && c != '\r' && c != '\n' && c != '\t') + buf[p++] = c; } +return decode(buf, 0, p); } + +/** +* Decodes a byte array from Base64 format. +* No blanks or line breaks are allowed within the Base64 encoded input data. +* @param s A Base64 String to be decoded. +* @return An array containing the decoded data bytes. +* @throws IllegalArgumentException If the input is not valid Base64 encoded data. +*/ +public static byte[] decode (String s) { +return decode(s.toCharArray()); } + +/** +* Decodes a byte array from Base64 format. +* No blanks or line breaks are allowed within the Base64 encoded input data. +* @param in A character array containing the Base64 encoded data. +* @return An array containing the decoded data bytes. +* @throws IllegalArgumentException If the input is not valid Base64 encoded data. +*/ +public static byte[] decode (char[] in) { +return decode(in, 0, in.length); } + +/** +* Decodes a byte array from Base64 format. +* No blanks or line breaks are allowed within the Base64 encoded input data. +* @param in A character array containing the Base64 encoded data. +* @param iOff Offset of the first character in in to be processed. +* @param iLen Number of characters to process in in, starting at iOff. +* @return An array containing the decoded data bytes. +* @throws IllegalArgumentException If the input is not valid Base64 encoded data. +*/ +public static byte[] decode (char[] in, int iOff, int iLen) { +if (iLen%4 != 0) throw new IllegalArgumentException ("Length of Base64 encoded input string is not a multiple of 4."); +while (iLen > 0 && in[iOff+iLen-1] == '=') iLen--; +int oLen = (iLen*3) / 4; +byte[] out = new byte[oLen]; +int ip = iOff; +int iEnd = iOff + iLen; +int op = 0; +while (ip < iEnd) { + int i0 = in[ip++]; + int i1 = in[ip++]; + int i2 = ip < iEnd ? in[ip++] : 'A'; + int i3 = ip < iEnd ? in[ip++] : 'A'; + if (i0 > 127 || i1 > 127 || i2 > 127 || i3 > 127) + throw new IllegalArgumentException ("Illegal character in Base64 encoded data."); + int b0 = map2[i0]; + int b1 = map2[i1]; + int b2 = map2[i2]; + int b3 = map2[i3]; + if (b0 < 0 || b1 < 0 || b2 < 0 || b3 < 0) + throw new IllegalArgumentException ("Illegal character in Base64 encoded data."); + int o0 = ( b0 <<2) | (b1>>>4); + int o1 = ((b1 & 0xf)<<4) | (b2>>>2); + int o2 = ((b2 & 3)<<6) | b3; + out[op++] = (byte)o0; + if (op. +*/ + +package pokerth_test; + +import static org.junit.Assert.*; + +import java.util.ArrayList; +import java.util.Collection; + +import org.junit.Test; + +import pokerth_protocol.*; +import pokerth_protocol.JoinGameRequestMessage.JoinGameRequestMessageSequenceType; +import pokerth_protocol.JoinGameRequestMessage.JoinGameRequestMessageSequenceType.JoinGameActionChoiceType; +import pokerth_protocol.NetGameInfo.EndRaiseModeEnumType; +import pokerth_protocol.NetGameInfo.NetGameTypeEnumType; +import pokerth_protocol.NetGameInfo.RaiseIntervalModeChoiceType; + +public class CreateGameTest extends TestBase { + + @Test + public void testJoinGameRequestMessage() throws Exception { + guestInit(); + + EndRaiseModeEnumType endRaise = new EndRaiseModeEnumType(); + endRaise.setValue(EndRaiseModeEnumType.EnumType.keepLastBlind); + NetGameInfo gameInfo = new NetGameInfo(); + gameInfo.setDelayBetweenHands(6); + gameInfo.setEndRaiseMode(endRaise); + gameInfo.setEndRaiseSmallBlindValue(1000); + gameInfo.setFirstSmallBlind(100); + gameInfo.setGameName(GuestUser + " game test"); + Collection l = new ArrayList(); + l.add(250); + l.add(600); + l.add(1000); + gameInfo.setManualBlinds(l); + gameInfo.setMaxNumPlayers(10); + NetGameTypeEnumType gameType = new NetGameTypeEnumType(); + gameType.setValue(NetGameTypeEnumType.EnumType.normalGame); + gameInfo.setNetGameType(gameType); + gameInfo.setPlayerActionTimeout(20); + gameInfo.setProposedGuiSpeed(8); + RaiseIntervalModeChoiceType raiseInterval = new RaiseIntervalModeChoiceType(); + raiseInterval.selectRaiseEveryHands(7); + gameInfo.setRaiseIntervalMode(raiseInterval); + gameInfo.setStartMoney(2000); + JoinNewGame joinNew = new JoinNewGame(); + joinNew.setGameInfo(gameInfo); + JoinGameActionChoiceType joinAction = new JoinGameActionChoiceType(); + joinAction.selectJoinNewGame(joinNew); + JoinGameRequestMessageSequenceType joinType = new JoinGameRequestMessageSequenceType(); + joinType.setJoinGameAction(joinAction); + joinType.setPassword(GamePassword); + JoinGameRequestMessage joinRequest = new JoinGameRequestMessage(); + joinRequest.setValue(joinType); + PokerTHMessage msg = new PokerTHMessage(); + msg.selectJoinGameRequestMessage(joinRequest); + sendMessage(msg); + + do { + msg = receiveMessage(); + } while (msg.isPlayerListMessageSelected() || msg.isGameListMessageSelected()); + if (msg.isJoinGameReplyMessageSelected()) + { + if (msg.getJoinGameReplyMessage().getValue().getJoinGameResult().isJoinGameAckSelected()) + { + assertTrue(msg.getJoinGameReplyMessage().getValue().getGameId().getValue() != 0); + NetGameInfo receivedGameInfo = msg.getJoinGameReplyMessage().getValue().getJoinGameResult().getJoinGameAck().getGameInfo(); + assertEquals(receivedGameInfo.getDelayBetweenHands(), gameInfo.getDelayBetweenHands()); + assertEquals(receivedGameInfo.getEndRaiseMode().getValue(), gameInfo.getEndRaiseMode().getValue()); + assertEquals(receivedGameInfo.getEndRaiseSmallBlindValue(), gameInfo.getEndRaiseSmallBlindValue()); + assertEquals(receivedGameInfo.getFirstSmallBlind(), gameInfo.getFirstSmallBlind()); + assertEquals(receivedGameInfo.getGameName(), gameInfo.getGameName()); + assertEquals(receivedGameInfo.getManualBlinds(), gameInfo.getManualBlinds()); + assertEquals(receivedGameInfo.getMaxNumPlayers(), gameInfo.getMaxNumPlayers()); + assertEquals(receivedGameInfo.getNetGameType().getValue(), gameInfo.getNetGameType().getValue()); + assertEquals(receivedGameInfo.getPlayerActionTimeout(), gameInfo.getPlayerActionTimeout()); + assertEquals(receivedGameInfo.getProposedGuiSpeed(), gameInfo.getProposedGuiSpeed()); + assertEquals(receivedGameInfo.getRaiseIntervalMode().getRaiseEveryHands(), gameInfo.getRaiseIntervalMode().getRaiseEveryHands()); + assertEquals(receivedGameInfo.getRaiseIntervalMode().getRaiseEveryMinutes(), gameInfo.getRaiseIntervalMode().getRaiseEveryMinutes()); + assertEquals(receivedGameInfo.getStartMoney(), gameInfo.getStartMoney()); + } + else + { + fail("Game creation failed!"); + } + } + else if (msg.isErrorMessageSelected()) + { + ErrorMessage error = msg.getErrorMessage(); + fail("Received error: " + error.getValue().getErrorReason().getValue().toString()); + } + else + { + fail("Invalid response message."); + } + } + +} diff --git a/tests/src/pokerth_test/GuestLoginTest.java b/tests/src/pokerth_test/GuestLoginTest.java new file mode 100644 index 00000000..534b8775 --- /dev/null +++ b/tests/src/pokerth_test/GuestLoginTest.java @@ -0,0 +1,37 @@ +/* PokerTH automated tests. + Copyright (C) 2010 Lothar May + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . +*/ + +package pokerth_test; + +import static org.junit.Assert.*; + +import java.io.IOException; + +import org.junit.Test; + +import pokerth_protocol.*; +import pokerth_protocol.AnnounceMessage.AnnounceMessageSequenceType.ServerTypeEnumType; +import pokerth_protocol.InitMessage.*; +import pokerth_protocol.InitMessage.InitMessageSequenceType.LoginChoiceType; + +public class GuestLoginTest extends TestBase { + + @Test + public void testInitMessage() throws Exception { + guestInit(); + } +} diff --git a/tests/src/pokerth_test/ScramSha1.java b/tests/src/pokerth_test/ScramSha1.java new file mode 100644 index 00000000..d3e9aa9f --- /dev/null +++ b/tests/src/pokerth_test/ScramSha1.java @@ -0,0 +1,94 @@ +/* PokerTH automated tests. + Copyright (C) 2010 Lothar May + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . +*/ + +package pokerth_test; + +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.security.SecureRandom; +import java.util.StringTokenizer; + +import de.rtner.security.auth.spi.MacBasedPRF; +import de.rtner.security.auth.spi.PBKDF2Engine; +import de.rtner.security.auth.spi.PBKDF2Parameters; + +public class ScramSha1 { + + String clientFirstMessageBare; + SecureRandom random = new SecureRandom(); + + public String executeStep1(String username) + { + byte bytes[] = new byte[8]; + random.nextBytes(bytes); + + String clientR = Base64Coder.encodeLines(bytes).trim(); + clientFirstMessageBare = "n=" + username + ",r=" + clientR + "\n"; + return "n,," + clientFirstMessageBare; + } + + public String executeStep2(String password, String serverFirstMessage) throws NoSuchAlgorithmException + { + MessageDigest md = MessageDigest.getInstance("SHA-1"); + MacBasedPRF hmac = new MacBasedPRF("HMacSha1"); + + StringTokenizer st = new StringTokenizer(serverFirstMessage, "=", true); + st.nextToken("="); + st.nextToken(); + String serverR = st.nextToken(","); + st.nextToken(); + st.nextToken("="); + st.nextToken(); + byte[] serverSalt = Base64Coder.decodeLines(st.nextToken(",")); + st.nextToken(); + st.nextToken("="); + st.nextToken(); + String iterationCount = st.nextToken(","); + + // SaltedPassword := Hi(Normalize(password), salt, i) + PBKDF2Engine engine = new PBKDF2Engine(new PBKDF2Parameters("HMacSHA1", null, serverSalt, Integer.parseInt(iterationCount))); + byte[] saltedPassword = engine.deriveKey(password, 20); + + // ClientKey := HMAC(SaltedPassword, "Client Key") + hmac.init(saltedPassword); + byte[] clientKey = hmac.doFinal("Client Key".getBytes()); + + // StoredKey := H(ClientKey) + byte[] storedKey = md.digest(clientKey); + + // AuthMessage := client-first-message-bare + "," + + // server-first-message + "," + + // client-final-message-without-proof + String clientFinalMessage = "c=biws,r=" + serverR; + String strAuthMessage = clientFirstMessageBare + "," + serverFirstMessage + "," + clientFinalMessage; + + // ClientSignature := HMAC(StoredKey, AuthMessage) + hmac = new MacBasedPRF("HMacSha1"); + hmac.init(storedKey); + byte[] clientSignature = hmac.doFinal(strAuthMessage.getBytes()); + + // ClientProof := ClientKey XOR ClientSignature + for (int i = 0; i < 20; i++) + { + clientKey[i] ^= clientSignature[i]; + } + + String clientProof = Base64Coder.encodeLines(clientKey).trim(); + clientFinalMessage += ",p=" + clientProof; + return clientFinalMessage; + } +} diff --git a/tests/src/pokerth_test/TestBase.java b/tests/src/pokerth_test/TestBase.java new file mode 100644 index 00000000..50964f24 --- /dev/null +++ b/tests/src/pokerth_test/TestBase.java @@ -0,0 +1,126 @@ +/* PokerTH automated tests. + Copyright (C) 2010 Lothar May + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . +*/ + +package pokerth_test; + +import static org.junit.Assert.*; + +import org.bn.*; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import pokerth_protocol.AnnounceMessage; +import pokerth_protocol.ErrorMessage; +import pokerth_protocol.GuestLogin; +import pokerth_protocol.InitAckMessage; +import pokerth_protocol.InitMessage; +import pokerth_protocol.PokerTHMessage; +import pokerth_protocol.Version; +import pokerth_protocol.AnnounceMessage.AnnounceMessageSequenceType.ServerTypeEnumType; +import pokerth_protocol.InitMessage.InitMessageSequenceType; +import pokerth_protocol.InitMessage.InitMessageSequenceType.LoginChoiceType; + +import java.io.*; +import java.net.*; + +public abstract class TestBase { + + public final int PROTOCOL_VERSION_MAJOR = 1; + public final int PROTOCOL_VERSION_MINOR = 0; + public final String AuthUser = "user"; + public final String AuthPassword = "pencil"; + public final String GuestUser = "Guest112233"; + public final String GamePassword = "äöü?ßÄÖÜ"; + + protected IEncoder encoder; + protected IDecoder decoder; + private Socket sock; + + @Before + public void setUp() throws Exception { + InetAddress localaddr = InetAddress.getLocalHost(); + sock = new Socket(localaddr, 7234); + encoder = CoderFactory.getInstance().newEncoder("BER"); + decoder = CoderFactory.getInstance().newDecoder("BER"); + } + + @After + public void tearDown() throws IOException { + sock.close(); + } + + public void sendMessage(PokerTHMessage msg) throws Exception { + sendMessage(msg, sock); + } + + public void sendMessage(PokerTHMessage msg, Socket s) throws Exception { + encoder.encode(msg, s.getOutputStream()); + } + + public PokerTHMessage receiveMessage() throws Exception { + return receiveMessage(sock); + } + + public PokerTHMessage receiveMessage(Socket s) throws Exception { + return decoder.decode(s.getInputStream(), PokerTHMessage.class); + } + + public void guestInit() throws Exception { + guestInit(sock); + } + + public void guestInit(Socket s) throws Exception { + PokerTHMessage msg = receiveMessage(s); + AnnounceMessage announce = msg.getAnnounceMessage(); + assertTrue(announce.getValue().getServerType().getValue() == ServerTypeEnumType.EnumType.serverTypeInternetAuth); + + Version requestedVersion = new Version(); + requestedVersion.setMajor(PROTOCOL_VERSION_MAJOR); + requestedVersion.setMinor(PROTOCOL_VERSION_MINOR); + GuestLogin guestLogin = new GuestLogin(); + guestLogin.setNickName(GuestUser); + LoginChoiceType loginType = new LoginChoiceType(); + loginType.selectGuestLogin(guestLogin); + InitMessageSequenceType msgType = new InitMessageSequenceType(); + msgType.setBuildId(0L); + msgType.setLogin(loginType); + msgType.setRequestedVersion(requestedVersion); + InitMessage init = new InitMessage(); + init.setValue(msgType); + msg = new PokerTHMessage(); + msg.selectInitMessage(init); + sendMessage(msg, s); + + msg = receiveMessage(s); + if (msg.isInitAckMessageSelected()) + { + InitAckMessage initAck = msg.getInitAckMessage(); + assertTrue(initAck.getValue().getYourPlayerId().getValue() != 0L); + assertTrue(!initAck.getValue().isYourAvatarPresent()); + } + else if (msg.isErrorMessageSelected()) + { + ErrorMessage error = msg.getErrorMessage(); + fail("Received error: " + error.getValue().getErrorReason().getValue().toString()); + } + else + { + fail("Invalid response message."); + } + } +} diff --git a/tests/test.scm b/tests/test.scm deleted file mode 100644 index 828f4348..00000000 --- a/tests/test.scm +++ /dev/null @@ -1,87 +0,0 @@ -;;; -;;; Copyright (C) 2007 Lothar May l-may@gmx.de -;;; -;;; All rights reserved. -;;; -;;; Redistribution and use in source and binary forms, with or -;;; without modification, are permitted provided that the -;;; following conditions are met: -;;; 1. Redistributions of source code must retain the above -;;; copyright notice, this list of conditions and the -;;; following disclaimer. -;;; 2. Redistributions in binary form must reproduce the -;;; above copyright notice, this list of conditions and -;;; the following disclaimer in the documentation and/or -;;; other materials provided with the distribution. -;;; 3. Neither the name of the project nor the names of -;;; its contributors may be used to endorse or promote -;;; products derived from this software without specific -;;; prior written permission. -;;; -;;; THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS -;;; ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -;;; BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -;;; MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -;;; DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS -;;; BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -;;; EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -;;; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -;;; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -;;; HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -;;; IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE -;;; USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY -;;; OF SUCH DAMAGE. - -;;; -;;; Basic check functions -;;; - -(define test-get-next-test-num - (lambda (test-list) - (+ (length test-list) 1))) - -;;; Simple test registration -(define test-register - (lambda (test-list name function) - (append test-list (list (cons (cons (test-get-next-test-num test-list) name) function))))) - -(define test-assert - (lambda (predicate errortext) - (if (not predicate) - (begin - (display (string-append "Assertion failed: " errortext "\n")) - (throw 'badex))))) - -#! -(test-assert #f "Test") -(test-assert #t "Test") -!# - -(define test-get-string - (lambda (data) - (string-append "Test " (number->string (car (car data))) ": \"" (cdr (car data)) "\""))) - -(define test-run-single - (lambda (data) - (display (string-append "Running " (test-get-string data) "...\n")) - (catch 'badex - (lambda () - ((cdr data)) ; call test - (display "PASSED\n\n")) - (lambda (key) - (display "FAILED\n\n"))))) - -(define test-run-all - (lambda (test-list) - (display "\nTest Run: All Tests\n") - (map-in-order test-run-single test-list) - (display "\nDone.\n"))) - -#! -(define test-func - (lambda () - (test-assert #f "False should be true!"))) -(test-register "Test" test-func) -(test-run-all) -!# diff --git a/tests/timer.scm b/tests/timer.scm deleted file mode 100644 index 6c6fcb3c..00000000 --- a/tests/timer.scm +++ /dev/null @@ -1,59 +0,0 @@ -;;; -;;; Copyright (C) 2007 Lothar May l-may@gmx.de -;;; -;;; All rights reserved. -;;; -;;; Redistribution and use in source and binary forms, with or -;;; without modification, are permitted provided that the -;;; following conditions are met: -;;; 1. Redistributions of source code must retain the above -;;; copyright notice, this list of conditions and the -;;; following disclaimer. -;;; 2. Redistributions in binary form must reproduce the -;;; above copyright notice, this list of conditions and -;;; the following disclaimer in the documentation and/or -;;; other materials provided with the distribution. -;;; 3. Neither the name of the project nor the names of -;;; its contributors may be used to endorse or promote -;;; products derived from this software without specific -;;; prior written permission. -;;; -;;; THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS -;;; ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -;;; BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -;;; MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -;;; DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS -;;; BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -;;; EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -;;; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -;;; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -;;; HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -;;; IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE -;;; USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY -;;; OF SUCH DAMAGE. - -;;; -;;; Software timer -;;; - -(define timer-create - (lambda (timeout-msec) - (cons timeout-msec 0))) - -(define timer-gettimeout - (lambda (timer) - (car timer))) - -(define timer-getcurtime - (lambda () - (let ((time (gettimeofday))) - (+ (* (car time) 1000) (quotient (cdr time) 1000))))) - -(define timer-start - (lambda (timer) - (cons (timer-gettimeout timer) (timer-getcurtime)))) - -(define timer-expired? - (lambda (timer) - (>= (timer-getcurtime) (+ (car timer) (cdr timer)))))