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:
+ *
+ * - PRF underlying pseudorandom function (hLen denotes the length in octets
+ * of the pseudorandom function output). PRF is pluggable.
+ *
+ *
+ *
+ * Input:
+ *
+ * - P password, an octet string
+ * - S salt, an octet string
+ * - c iteration count, a positive integer
+ * - dkLen intended length in octets of the derived key, a positive integer,
+ * at most (2^32 - 1) * hLen
+ *
+ *
+ *
+ * Output:
+ *
+ * - DK derived key, a dkLen-octet string
+ *
+ *
+ *
+ *
+ * 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)))))