;ELC
;;; Compiled
;;; in Emacs version 26.3
;;; with all optimizations.
;;; This file uses dynamic docstrings, first added in Emacs 19.29.
;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\300\306!\210\307\310\311\312!\"\210\307\313\314\312!\"\210\307\315\313\"\210\316\315\317\320#\210\321\312\322\313#\323\312\324\325\326$\207" [require warnings eieio eieio-base rudel-util rudel-state-machine rudel-infinote-state defalias rudel-infinote-group-state-p eieio-make-class-predicate rudel-infinote-group-state rudel-infinote-group-state--eieio-childp eieio-make-child-predicate rudel-infinote-group-state-child-p make-obsolete "use (cl-typep ... \\='rudel-infinote-group-state) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (rudel-infinote-state rudel-impersonator rudel-delegator) ((impersonation-target-slot :initform 'group) (delegation-target-slot :initform 'group) (group :initarg :group :type rudel-infinote-group-child :documentation #1="")) (:documentation #1# :abstract t)] 6)
#@84 You cannot create a new object of type `rudel-infinote-group-state'.
(fn &rest _)
(defalias 'rudel-infinote-group-state #[128 "\300\301!\207" [error "Class rudel-infinote-group-state is abstract"] 3 (#$ . 1316)])
(byte-code "\300\301\302\303\302\304%\210\305\306\307\310!\"\210\305\311\312\310!\"\210\305\313\311\"\210\314\313\315\316#\210\317\310\320\311#\321\310\322\302\323$\207" [cl-generic-define-method rudel-accept nil ((this rudel-infinote-group-state) xml) #[514 "\211\211@\262\211\301=\203T \211\302\303\"\206 \304\266\202\305\303\"\206\" \304\266\202\211\205+ \306!\262\307\303\"\2067 \304\266\202\211\205@ \306!\262\310\311\312\313$\314#\266\315\202\202 \316!\3171g \320\321C$0\202\200 \310\322\312\323\324 !@A\325 &\314#\210\326\262\262\207" [arguments request-failed domain xml-get-attribute-or-nil "" code string-to-number seq display-warning (rudel infinote) format "request failed; sequence number: `%s', domain: `%s', code: `%s'" :warning idle symbol-name (rudel-dispatch-error) rudel-dispatch "rudel-infinote/" (rudel infinote) "%s: no method (%s: %s): `%s/%s'; arguments: %s" cl-prin1-to-string "rudel-infinote" nil] 15 "Dispatch XML to appropriate handler method based on content.\n\n(fn THIS XML)"] defalias rudel-infinote-group-state-closed-p eieio-make-class-predicate rudel-infinote-group-state-closed rudel-infinote-group-state-closed--eieio-childp eieio-make-child-predicate rudel-infinote-group-state-closed-child-p make-obsolete "use (cl-typep ... \\='rudel-infinote-group-state-closed) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (rudel-infinote-group-state) (:documentation "Groups enter this state when receiving a \nmessage.")] 6)
#@90 Create a new object of class type `rudel-infinote-group-state-closed'.
(fn &rest SLOTS)
(defalias 'rudel-infinote-group-state-closed #[128 "\300\301\302#\207" [apply make-instance rudel-infinote-group-state-closed] 5 (#$ . 3074)])
(byte-code "\300\301\302\303#\300\207" [function-put rudel-infinote-group-state-closed compiler-macro rudel-infinote-group-state-closed--anon-cmacro] 4)
#@26
(fn WHOLE &rest SLOTS)
(defalias 'rudel-infinote-group-state-closed--anon-cmacro #[385 "\211@;\204 \207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 3466)])
(byte-code "\300\301\302\303\302\304%\210\305\306\307\310!\"\210\305\311\312\310!\"\210\305\313\311\"\210\314\313\315\316#\210\317\310\320\311#\321\310\322\323\324$\207" [cl-generic-define-method rudel-accept nil ((_this rudel-infinote-group-state-closed) _xml) #[514 "\300\207" [nil] 3 "Simply ignore all further messages.\n\n(fn THIS XML)"] defalias rudel-infinote-group-p eieio-make-class-predicate rudel-infinote-group rudel-infinote-group--eieio-childp eieio-make-child-predicate rudel-infinote-group-child-p make-obsolete "use (cl-typep ... \\='rudel-infinote-group) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (eieio-named rudel-state-machine) ((connection :initarg :connection :documentation "The connection used by this group object to do\nits communication.") (publisher :initarg :publisher :type string :documentation #1="") (method :initarg :method :type symbol :documentation #1#) (members :initarg :members :type list :initform nil :documentation #1#)) (:documentation "Super class for all communication groups used in infinote\nsessions. Groups are basically modeled as named state\nmachines. Subclasses have to provide their own states." :abstract t)] 6)
#@78 You cannot create a new object of type `rudel-infinote-group'.
(fn &rest _)
(defalias 'rudel-infinote-group #[128 "\300\301!\207" [error "Class rudel-infinote-group is abstract"] 3 (#$ . 4925)])
(byte-code "\300\301\302\303\304\305%\210\300\306\302\307\302\310%\210\311\312\313\314!\"\210\311\315\316\314!\"\210\311\317\315\"\210\320\317\321\322#\210\323\314\324\315#\325\314\326\327\330$\207" [cl-generic-define-method rudel-register-state nil ((this rudel-infinote-group) _symbol state) t #[1028 "\300\301#\210 \207" [eieio-oset :group] 8 "Set the :group slot of STATE to THIS.\n\n(fn CL--CNM THIS SYMBOL STATE)"] rudel-send ((this rudel-infinote-group) data) #[514 "\300\301\302\"\303!\304\305\"\306\307B\310BDE\266\203\"\207" [rudel-send slot-value connection object-name-string eieio-oref :publisher group name publisher] 12 "Send DATA through the connection associated to THIS.\n\n(fn THIS DATA)"] defalias rudel-infinote-sequence-number-group-p eieio-make-class-predicate rudel-infinote-sequence-number-group rudel-infinote-sequence-number-group--eieio-childp eieio-make-child-predicate rudel-infinote-sequence-number-group-child-p make-obsolete "use (cl-typep ... \\='rudel-infinote-sequence-number-group) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (rudel-infinote-group) ((next-sequence-number :initarg :next-sequence-number :type (integer 0) :initform 0 :documentation "Sequence number used when sending\nrequests.") (remote-id :initarg :remote-id :type (integer 0) :documentation "Id assigned to us by the remote\nside. This is used to identify messages directed at us.")) (:documentation "Objects of this class inject sequence number into messages\nsent via `rudel-send'.")] 6)
#@93 Create a new object of class type `rudel-infinote-sequence-number-group'.
(fn &rest SLOTS)
(defalias 'rudel-infinote-sequence-number-group #[128 "\300\301\302#\207" [apply make-instance rudel-infinote-sequence-number-group] 5 (#$ . 6671)])
(byte-code "\300\301\302\303#\300\207" [function-put rudel-infinote-sequence-number-group compiler-macro rudel-infinote-sequence-number-group--anon-cmacro] 4)
#@26
(fn WHOLE &rest SLOTS)
(defalias 'rudel-infinote-sequence-number-group--anon-cmacro #[385 "\211@;\204 \207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 7078)])
(cl-generic-define-method 'rudel-send nil '((this rudel-infinote-sequence-number-group) data &optional no-sequence-number) t #[1027 "\211\203 \"\207\211@\262\211A@\262\211AA\262\300\301\302\303\n\304\"!BBD\"\"\266\211\305\304\303\304\"T#\262\207" [append seq number-to-string slot-value :next-sequence-number eieio-oset] 17 "Add a sequence number to DATA and send it.\nAfter sending, increment the sequence number counter.\nIf NO-SEQUENCE-NUMBER is non-nil, do not add a sequence number\nand do not increment the sequence number counter.\n\n(fn CL--CNM THIS DATA &optional NO-SEQUENCE-NUMBER)"])
#@208 Construct a message out of FORMS by adding data from GROUP.
The returned message consists of an outer element with
GROUP's properties in its attributes and FORMS as children.
(fn GROUP &rest FORMS)
(defalias 'rudel-infinote-embed-in-group '(macro . #[385 "\300\301!\300\302!\300\303!\304D\305DD\306\307BBDE\310\311\312\313CBB\314\313CBBD\313 BECBE\207" [make-symbol "group" "name" "publisher" let* object-name-string oref (:publisher) \` group name \, publisher] 13 (#$ . 7954)]))
(byte-code "\300\301\302\303#\304\301\305\306#\210\307\310!\207" [function-put rudel-infinote-embed-in-group lisp-indent-function 1 put edebug-form-spec (form &rest form) provide rudel-infinote-group] 5)