;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\300\307!\210\300\310!\210\300\311!\210\300\312!\210\300\313!\210\300\314!\210\300\315!\210\300\316!\210\317\320\321\322!\"\210\317\323\324\322!\"\210\317\325\323\"\210\326\325\327\330#\210\331\322\332\323#\333\322\334\335\336$\207" [require cl-lib warnings rudel rudel-state-machine rudel-infinote-util rudel-infinote-errors rudel-infinote-state rudel-infinote-group rudel-infinote-group-directory rudel-infinote-group-document rudel-infinote-node-directory rudel-infinote-text-document rudel-infinote-user adopted defalias rudel-infinote-client-connection-p eieio-make-class-predicate rudel-infinote-client-connection rudel-infinote-client-connection--eieio-childp eieio-make-child-predicate rudel-infinote-client-connection-child-p make-obsolete "use (cl-typep ... \\='rudel-infinote-client-connection) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (rudel-connection) ((transport :initarg :transport :type rudel-transport :documentation #1="") (groups :initarg :groups :type hash-table :documentation "Association of group names and\nobjects. Groups are objects of subclasses of\n`rudel-infinote-group'.") (nodes :initarg :nodes :type list :initform nil :documentation "List of node objects in this\nconnection. Nodes are objects of subclasses of\n`rudel-infinote-node'. Nodes usually have associated group\nobjects.") (sequence-number :initarg :sequence-number :type (integer 1) :initform 1 :documentation #1#) (plugins :initarg :plugins :type list :initform nil :documentation "List of plugins advertised by the remote\nside.")) (:documentation "TODO")] 6) #@89 Create a new object of class type `rudel-infinote-client-connection'. (fn &rest SLOTS) (defalias 'rudel-infinote-client-connection #[128 "\300\301\302#\207" [apply make-instance rudel-infinote-client-connection] 5 (#$ . 2094)]) (byte-code "\300\301\302\303#\300\207" [function-put rudel-infinote-client-connection compiler-macro rudel-infinote-client-connection--anon-cmacro] 4) #@26 (fn WHOLE &rest SLOTS) (defalias 'rudel-infinote-client-connection--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 (#$ . 2481)]) (byte-code "\300\301\302\303\304\305%\210\300\306\302\307\302\310%\210\300\311\302\312\302\313%\210\300\314\302\315\302\316%\210\300\317\302\320\302\321%\210\300\322\302\323\302\324%\210\300\325\302\326\302\327%\210\300\330\302\331\302\332%\210\300\333\302\334\302\335%\210\300\336\302\337\302\340%\210\300\341\302\342\304\343%\210\300\344\302\345\302\346%\210\300\347\302\350\302\351%\210\300\352\302\353\302\354%\210\300\355\302\356\302\357%\210\300\360\302\361\302\362%\210\300\363\302\364\302\365%\210\300\366\302\367\302\370%\210\300\371\302\372\302\373%\210\300\374\302\375\302\376%\210\300\377\302\201@\302\201A%\210\201B\201C!\207" [cl-generic-define-method initialize-instance nil ((this rudel-infinote-client-connection) _slots) t #[771 " \210\211\300\301\302\303\304\"#\266\305\306\307\"\310\311\312\313\314 !\315\"\316\317%\"\266\320\321\322\323#\306\324\"\211\300\325#\266\326\327\330\331#\332\"\210\333\334!\210\335\334\336\337\340\341\342\343 &\"\262\207" [eieio-oset groups make-hash-table :test equal rudel-set-filter slot-value transport make-byte-code 257 "\301\300\"\207" vconcat vector [rudel-receive] 4 "\n\n(fn XML)" rudel-infinote-user "scymtym" :color "red" session self rudel-infinote-group-directory "InfDirectory" :publisher "you" rudel-add-group require rudel-infinote-node-directory rudel-add-node "root" :id 0 :parent nil :group] 15 "\n\n(fn CL--CNM THIS SLOTS)"] rudel-get-group ((this rudel-infinote-client-connection) name) #[514 "\300\301\302\"\"\207" [gethash slot-value groups] 8 "Return group named NAME or nil if there is no such group.\n\n(fn THIS NAME)"] rudel-add-group ((this rudel-infinote-client-connection) group) #[514 "\211\211\300\301#\266\302\303\304\"\303\305\"#\262\207" [eieio-oset connection puthash slot-value :object-name groups] 10 "\n\n(fn THIS GROUP)"] rudel-remove-group ((this rudel-infinote-client-connection) group-or-name) #[514 "\300!\203 \301!\202\302\303\304\"\"\262\207" [rudel-infinote-group-child-p object-name remhash slot-value groups] 9 "Remove GROUP-OR-NAME from the list of groups of THIS.\nGROUP-OR-NAME is a `rudel-infinote-group' object or a string in\nwhich case it is the name of a group.\n\n(fn THIS GROUP-OR-NAME)"] rudel-make-and-add-group ((_this rudel-infinote-client-connection) _type name method &optional node) #[1284 "\300\301\302\303\304&\305!\207" [rudel-infinote-group-text-document :publisher "you" :method :document rudel-add-group] 13 "Create a group object and add it to THIS.\n\n(fn THIS TYPE NAME METHOD &optional NODE)"] rudel-find-node ((this rudel-infinote-client-connection) which &optional test key) #[1026 "\300\301\302\"\303\206 \304\305\206\306&\207" [cl-find slot-value nodes :key rudel-id :test =] 12 "Find node WHICH in the node list of THIS.\nWHICH is compared to the result of KEY using TEST.\n\n(fn THIS WHICH &optional TEST KEY)"] rudel-add-node ((this rudel-infinote-client-connection) node) #[514 "\300\301#\207" [object-add-to-list :nodes] 6 "Add NODE to the list of nodes of THIS.\n\n(fn THIS NODE)"] rudel-remove-node ((this rudel-infinote-client-connection) node) #[514 "\300\301#\207" [object-remove-from-list :nodes] 6 "Remove NODE from the list of nodes of THIS.\n\n(fn THIS NODE)"] rudel-make-and-add-node ((this rudel-infinote-client-connection) id parent-id name type) #[1285 "\205\n\300\"\203\211\204\301\302C\"\210\303\230\2033\304\305\306\307\310\311\"&\312B\202C\313\230\205C\314\305\306%\315B\211@A\211\203S\316\"\210\317\f\"\210\205e\320\321\322\"\"\266\202\266\203\262\207" [rudel-find-node signal rudel-infinote-no-such-node "InfSubdirectory" rudel-infinote-node-directory :id :parent :group rudel-get-group "InfDirectory" nil "InfText" rudel-infinote-text-document t rudel-add-child rudel-add-node rudel-add-document slot-value session] 17 "\n\n(fn THIS ID PARENT-ID NAME TYPE)"] rudel-send ((this rudel-infinote-client-connection) xml) #[514 "\300\301\302\"\"\207" [rudel-send slot-value transport] 7 "\n\n(fn THIS XML)"] rudel-receive ((this rudel-infinote-client-connection) xml) #[771 "\300\211@\262\211\301=\203@\302\303\"\206\304\266\202\211AA\262\305\"\211\2030\306@\"\210\202:\307\310\311\312\"\313#\210\266\314\202H!\205H \262\207" [#[257 "\300!\207" [cl--generic-isnot-nnm-p] 3 "\n\n(fn CL--CNM)"] group name xml-get-attribute-or-nil "" rudel-get-group rudel-accept display-warning (rudel infinote) format "Could not find group: `%s'" :warning nil] 13 "\n\n(fn CL--CNM THIS XML)"] rudel-disconnect ((this rudel-infinote-client-connection)) #[257 "\211\300\301\302\"!\207" [rudel-disconnect slot-value transport] 6 "\n\n(fn THIS)"] rudel-wait ((this rudel-infinote-client-connection) &optional progress-callback) #[513 "\300\301\"\302\303\304$\207" [rudel-get-group "InfDirectory" rudel-state-wait (idle) nil] 8 "Block until THIS is done with the session setup.\n\n(fn THIS &optional PROGRESS-CALLBACK)"] rudel-publish ((this rudel-infinote-client-connection) document) #[514 "\300\301\"\302\303\304!\305\306\307\310\311\"B\312B\313BEDC\"\207" [rudel-get-group "InfDirectory" 0 "InfText" object-name-string rudel-send add-node parent format "%d" type name] 13 "\n\n(fn THIS DOCUMENT)"] rudel-subscribe-to ((this rudel-infinote-client-connection) document) #[514 "\300\301\"\302\303\304\305\"#\210\306\307\310#\266\211\302\311\312\"\313\"\210\306\311\312\"\314\310#\207" [rudel-get-group "InfDirectory" rudel-switch subscribing eieio-oref :id rudel-state-wait (idle) nil slot-value group joining (idle)] 9 "\n\n(fn THIS DOCUMENT)"] rudel-unsubscribe-from ((_this rudel-infinote-client-connection) document) #[514 "\211\300\301\302\"\303\304\305\306\301\304\"\"BCD\"\207" [rudel-send slot-value group session-unsubscribe id format "%d"] 12 "\n\n(fn THIS DOCUMENT)"] rudel-subscribe-session ((this rudel-infinote-client-connection) name method id) #[1028 "\300\301!\210\302\303\304\"\305\306$\301\307\310\311\312&\313\"\210\314\315#\266\202\207" [require rudel-infinote-group-text-document rudel-find-document slot-value session eq rudel-id :publisher "you" :method :document rudel-add-group eieio-oset :group] 14 "\n\n(fn THIS NAME METHOD ID)"] rudel-local-insert ((this rudel-infinote-client-connection) document position data) #[1028 "\300\301\302\303\304%#\207" [rudel-local-operation adopted-insert "insert" :from :data] 13 "\n\n(fn THIS DOCUMENT POSITION DATA)"] rudel-local-delete ((this rudel-infinote-client-connection) document position length) #[1028 "\300\301\302\303\304  \\%#\207" [rudel-local-operation adopted-delete "delete" :from :to] 14 "\n\n(fn THIS DOCUMENT POSITION LENGTH)"] rudel-local-operation ((this rudel-infinote-client-connection) document operation) #[771 "\300\301\302\"!\303\304\305\"\211\306\307\310\311\304\312\"\"BC\313 !E\262\262\"\262\207" [rudel-self eieio-oref :session rudel-send slot-value group request user format "%d" #:id rudel-operation->xml] 16 "Handle OPERATION performed on DOCUMENT by sending a message through THIS connection.\n\n(fn THIS DOCUMENT OPERATION)"] rudel-remote-operation ((_this rudel-infinote-client-connection) document user _remote-revision _local-revision operation) #[1542 "\211\300#\207" [rudel-remote-operation] 11 "Handle OPERATION received through THIS connection performed by USER on DOCUMENT.\n\n(fn THIS DOCUMENT USER REMOTE-REVISION LOCAL-REVISION OPERATION)"] provide rudel-infinote-client] 6)