Adding new java based test cases.

This commit is contained in:
lotodore
2010-11-12 12:13:56 +00:00
parent c352030c3c
commit 85d26e79a4
129 changed files with 20383 additions and 1739 deletions
-280
View File
@@ -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))
-149
View File
@@ -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))
!#
-747
View File
@@ -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))
!#
-40
View File
@@ -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)
-203
View File
@@ -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)
-174
View File
@@ -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))))
!#
+120
View File
@@ -0,0 +1,120 @@
package de.rtner.misc;
/**
* <p>
* Free auxiliary functions. Copyright (c) 2007 Matthias G&auml;rtner
* </p>
* <p>
* 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.
* </p>
* <p>
* 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.
* </p>
* <p>
* 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
* </p>
* <p>
* For Details, see <a
* href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html">http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html</a>.
* </p>
*
* @author Matthias G&auml;rtner
* @version 1.0
*/
public class BinTools
{
public static final String hex = "0123456789ABCDEF";
/**
* Simple binary-to-hexadecimal conversion.
*
* @param b
* Input bytes. May be <code>null</code>.
* @return Hexadecimal representation of b. Uppercase A-F, two characters
* per byte. Empty string on <code>null</code> 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 <code>null</code>.
* On odd length leading zero will be assumed.
* @return Array on bytes, non-<code>null</code>.
* @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
+ "'");
}
}
@@ -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.
*
* <hr />
* <p>
* A free Java implementation of Password Based Key Derivation Function 2 as
* defined by RFC 2898. Copyright (c) 2007 Matthias G&auml;rtner
* </p>
* <p>
* 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.
* </p>
* <p>
* 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.
* </p>
* <p>
* 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
* </p>
* <p>
* For Details, see <a
* href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html">http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html</a>.
* </p>
*
* @author Matthias G&auml;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);
}
}
}
@@ -0,0 +1,98 @@
package de.rtner.security.auth.spi;
/**
* <p>
* A free Java implementation of Password Based Key Derivation Function 2 as
* defined by RFC 2898. Copyright (c) 2007 Matthias G&auml;rtner
* </p>
* <p>
* 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.
* </p>
* <p>
* 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.
* </p>
* <p>
* 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
* </p>
* <p>
* For Details, see <a
* href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html">http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html</a>.
* </p>
*
* @author Matthias G&auml;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 <code>true</code> password match; <code>false</code>
* 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);
}
@@ -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;
/**
* <p>
* Request for Comments: 2898 PKCS #5: Password-Based Cryptography Specification
* <p>
* Version 2.0
*
* <p>
* PBKDF2 (P, S, c, dkLen)
*
* <p>
* Options:
* <ul>
* <li>PRF underlying pseudorandom function (hLen denotes the length in octets
* of the pseudorandom function output). PRF is pluggable.</li>
* </ul>
*
* <p>
* Input:
* <ul>
* <li>P password, an octet string</li>
* <li>S salt, an octet string</li>
* <li>c iteration count, a positive integer</li>
* <li>dkLen intended length in octets of the derived key, a positive integer,
* at most (2^32 - 1) * hLen</li>
* </ul>
*
* <p>
* Output:
* <ul>
* <li>DK derived key, a dkLen-octet string</li>
* </ul>
*
* <hr />
* <p>
* A free Java implementation of Password Based Key Derivation Function 2 as
* defined by RFC 2898. Copyright (c) 2007 Matthias G&auml;rtner
* </p>
* <p>
* 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.
* </p>
* <p>
* 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.
* </p>
* <p>
* 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
* </p>
* <p>
* For Details, see <a
* href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html">http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html</a>.
* </p>
*
* @see <a href="http://tools.ietf.org/html/rfc2898">RFC 2898</a>
* @author Matthias G&auml;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 <a href="http://tools.ietf.org/html/rfc2898">RFC 2898 5.2</a>
* @param prf
* Pseudo Random Function (i.e. HmacSHA1)
* @param S
* Salt as array of bytes. <code>null</code> 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 <a href="http://tools.ietf.org/html/rfc2898">RFC 2898 5.2 Step 2.</a>
* @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 <a href="http://tools.ietf.org/html/rfc2898">RFC 2898 5.2 Step 3.</a>
* @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 <a href="http://tools.ietf.org/html/rfc2898">RFC 2898 5.2 Step 3.</a>
* @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;
}
}
@@ -0,0 +1,54 @@
package de.rtner.security.auth.spi;
/**
* <p>
* A free Java implementation of Password Based Key Derivation Function 2 as
* defined by RFC 2898. Copyright (c) 2007 Matthias G&auml;rtner
* </p>
* <p>
* 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.
* </p>
* <p>
* 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.
* </p>
* <p>
* 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
* </p>
* <p>
* For Details, see <a
* href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html">http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html</a>.
* </p>
*
* @author Matthias G&auml;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 <code>false</code> syntax OK, <code>true</code> some syntax
* issue.
*/
public abstract boolean fromString(PBKDF2Parameters p, String s);
}
@@ -0,0 +1,67 @@
package de.rtner.security.auth.spi;
import de.rtner.misc.BinTools;
/**
* <p>
* A free Java implementation of Password Based Key Derivation Function 2 as
* defined by RFC 2898. Copyright (c) 2007 Matthias G&auml;rtner
* </p>
* <p>
* 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.
* </p>
* <p>
* 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.
* </p>
* <p>
* 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
* </p>
* <p>
* For Details, see <a
* href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html">http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html</a>.
* </p>
*
* @author Matthias G&auml;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;
}
}
@@ -0,0 +1,165 @@
package de.rtner.security.auth.spi;
/**
* <p>
* Parameter data holder for PBKDF2 configuration.
* </p>
*
* <hr />
* <p>
* A free Java implementation of Password Based Key Derivation Function 2 as
* defined by RFC 2898. Copyright (c) 2007 Matthias G&auml;rtner
* </p>
* <p>
* 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.
* </p>
* <p>
* 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.
* </p>
* <p>
* 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
* </p>
* <p>
* For Details, see <a
* href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html">http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html</a>.
* </p>
*
* @author Matthias G&auml;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 <code>null</code> 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 <code>null</code> (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 <code>null</code> (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;
}
}
@@ -0,0 +1,60 @@
package de.rtner.security.auth.spi;
/**
* <p>
* A free Java implementation of Password Based Key Derivation Function 2 as
* defined by RFC 2898. Copyright (c) 2007 Matthias G&auml;rtner
* </p>
* <p>
* 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.
* </p>
* <p>
* 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.
* </p>
* <p>
* 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
* </p>
* <p>
* For Details, see <a
* href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html">http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html</a>.
* </p>
*
* @author Matthias G&auml;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();
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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<PlayerAllIn> playersAllIn = null;
public NonZeroId getGameId () {
return this.gameId;
}
public void setGameId (NonZeroId value) {
this.gameId = value;
}
public java.util.Collection<PlayerAllIn> getPlayersAllIn () {
return this.playersAllIn;
}
public void setPlayersAllIn (java.util.Collection<PlayerAllIn> 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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
+164
View File
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
+35
View File
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
+58
View File
@@ -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;
}
}
+267
View File
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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<PlayerResult> playerResults = null;
public java.util.Collection<PlayerResult> getPlayerResults () {
return this.playerResults;
}
public void setPlayerResults (java.util.Collection<PlayerResult> value) {
this.playerResults = value;
}
public void initWithDefaults() {
}
private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(EndOfHandShowCards.class);
public IASN1PreparedElementData getPreparedData() {
return preparedData;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
+131
View File
@@ -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<NonZeroId> 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<NonZeroId> getPlayerIds () {
return this.playerIds;
}
public void setPlayerIds (java.util.Collection<NonZeroId> 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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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<NonZeroId> 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<NonZeroId> getPlayerSeats () {
return this.playerSeats;
}
public void setPlayerSeats (java.util.Collection<NonZeroId> 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;
}
}
@@ -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;
}
}
+58
View File
@@ -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;
}
}
@@ -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;
}
}
+58
View File
@@ -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;
}
}
@@ -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;
}
}
+237
View File
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
+497
View File
@@ -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<Integer> 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<Integer> getManualBlinds () {
return this.manualBlinds;
}
public void setManualBlinds (java.util.Collection<Integer> value) {
this.manualBlinds = value;
}
public void initWithDefaults() {
}
private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(NetGameInfo.class);
public IASN1PreparedElementData getPreparedData() {
return preparedData;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
+58
View File
@@ -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;
}
}
@@ -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 {
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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;
}
}
@@ -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<Long> 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<Long> getBestHandPosition () {
return this.bestHandPosition;
}
public void setBestHandPosition (java.util.Collection<Long> 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;
}
}
@@ -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;
}
}
@@ -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;
}
}
File diff suppressed because it is too large Load Diff
@@ -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;
}
}
@@ -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;
}
}

Some files were not shown because too many files have changed in this diff Show More