1 '''
2 Defines standard interfaces for inspecting, manipulating, and navigating
3 accessibles and handling their events.
4
5 @author: Peter Parente
6 @author: Pete Brunet
7 @author: Larry Weiss
8 @author: Brett Clippingdale
9 @author: Eirikur Hallgrimsson
10 @author: Scott Haeger
11 @organization: IBM Corporation
12 @copyright: Copyright (c) 2005, 2007 IBM Corporation
13 @license: The BSD License
14
15 @author: Frank Zenker
16 @organization: IT Science Center Ruegen gGmbH, Germany
17 @copyright: Copyright (c) 2007, 2008 ITSC Ruegen
18 @license: The BSD License
19
20 All rights reserved. This program and the accompanying materials are made
21 available under the terms of the BSD license which accompanies
22 this distribution, and is available at
23 U{http://www.opensource.org/licenses/bsd-license.php}
24 '''
25
26 from AEAccAdapter import Interface
27
29 '''
30 Checks if the given thing implements the given interface. The thing may be
31 an instance or class. The thing is checked using issubclass first, followed
32 by isinstance next, and then by brute force method comparison last.
33
34 @param thing: Class or object to be tested for an interface
35 @type thing: class or object
36 @param interface: Class representing an interface to be implemented
37 @type interface: class
38 @return: Does the thing implement the given interface?
39 @rtype: boolean
40 '''
41 try:
42 if issubclass(thing, interface): return True
43 except:
44 pass
45 try:
46 if isinstance(thing, interface): return True
47 except:
48 pass
49 return False
50
52 '''
53 Provides methods for navigating across accessible objects.
54 '''
56 '''
57 Gets the next accessible relative to the one providing this interface.
58
59 @return: Point of regard to the next accessible
60 @rtype: L{AEPor}
61 @raise IndexError: When there is no next accessible
62 @raise LookupError: When lookup for the next accessible fails even though
63 it may exist
64 '''
65 pass
66
68 '''
69 Gets the previous accessible relative to the one providing this interface.
70
71 @return: Point of regard to the previous accessible
72 @rtype: L{AEPor}
73 @raise IndexError: When there is no previous accessible
74 @raise LookupError: When lookup for the previous accessible fails even
75 though it may exist
76 '''
77 pass
78
80 '''
81 Gets the parent accessible relative to the one providing this interface.
82
83 @return: Point of regard to the parent accessible
84 @rtype: L{AEPor}
85 @raise LookupError: When lookup for the parent accessible fails because it
86 does not exist
87 '''
88 pass
89
91 '''
92 Gets the first accessible child relative to the subject accessible.
93
94 @return: Point of regard to the first child accessible
95 @rtype: L{AEPor}
96 @raise LookupError: When lookup for child fails because it does not exist
97 '''
98 pass
99
101 '''
102 Gets the last accessible child relative to the subject accessible.
103
104 @return: Point of regard to the last child accessible
105 @rtype: L{AEPor}
106 @raise LookupError: When lookup for child fails because it does not exist
107 '''
108 pass
109
111 '''
112 Gets the child accessible at the given index relative to the one providing
113 this interface.
114
115 @param index: Index of the child to retrieve
116 @type index: integer
117 @return: Point of regard to the child accessible
118 @rtype: L{AEPor}
119 @raise IndexError: When there is no child at the given index
120 @raise LookupError: When the lookup for the child fails even though it may
121 exist
122 '''
123 pass
124
126 '''
127 Searches all ancestors for one matching the given predicate.
128
129 @param predicate: Search predicate
130 @type predicate: callable
131 @return: Point of regard to the target or None if not found
132 @rtype: L{AEPor}
133 @raise LookupError: When the lookup fails during the search
134 '''
135 pass
136
138 '''
139 Searches all descendants for one matching the given predicate.
140
141 @param predicate: Search predicate
142 @type predicate: callable
143 @param depth_first: Perform the search in depth-first (True) or breadth
144 first (False) order?
145 @type depth_first: boolean
146 @return: Point of regard to the target or None if not found
147 @rtype: L{AEPor}
148 @raise LookupError: When the lookup fails during the search
149 '''
150 pass
151
153 '''
154 Provides methods for navigating items within accessible objects. The
155 definition of an item is left up to the object implementing this interface.
156 '''
158 '''
159 Gets the next Item relative to the one indicated by the L{AEPor}
160 providing this interface.
161
162 @param only_visible: True when Item in the returned L{AEPor} must be visible
163 @type only_visible: boolean
164 @return: Point of regard to the next visible item in the same accessible
165 @rtype: L{AEPor}
166 @raise IndexError: When there is no next visible item
167 @raise LookupError: When lookup for the next item fails even though it may
168 exist
169 '''
170 pass
171
173 '''
174 Gets the previous Item relative to the one indicated by the L{AEPor} providing
175 this interface.
176
177 @param only_visible: True when Item in the returned L{AEPor} must be visible
178 @type only_visible: boolean
179 @return: Point of regard to the previous visible item in the same accessible
180 @rtype: L{AEPor}
181 @raise IndexError: When there is no previous visible item
182 @raise LookupError: When lookup for the previous item fails even though it
183 may exist
184 '''
185 pass
186
188 '''
189 Gets the first Item relative to the one indicated by the L{AEPor}
190 providing this interface.
191
192 @param only_visible: True when Item in the returned L{AEPor} must be visible
193 @type only_visible: boolean
194 @return: Point of regard to the first visible item in the same accessible
195 @rtype: L{AEPor}
196 @raise IndexError: When there is no last visible item
197 @raise LookupError: When lookup for the last item fails even though it may
198 exist
199 '''
200 pass
201
203 '''
204 Gets the last Item relative to the one indicated by the L{AEPor}
205 providing this interface.
206
207 @param only_visible: True when Item in the returned L{AEPor} must be visible
208 @type only_visible: boolean
209 @return: Point of regard to the last visible item in the same accessible
210 @rtype: L{AEPor}
211 @raise LookupError: When lookup for the last item fails because it does not
212 exist
213 '''
214 pass
215
217 '''
218 Gets a L{AEPor} to the child as an item of the subject rather than as a child
219 of the subject.
220
221 @param por: Point of regard to a child of the subject
222 @type por: L{AEPor}
223 @return: Point of regard to an item of the subject
224 @rtype: L{AEPor}
225 @raise LookupError: When lookup for the offset fails
226 '''
227 pass
228
230 '''
231 Provides methods for accessing basic information about accessible objects.
232 '''
234 '''
235 Gets a list of L{AEPor}s referring to the selected objects in the subject
236 accessible.
237
238 @return: Points of regard to selected accessibles
239 @rtype: list of L{AEPor}s
240 @raise LookupError: When the subject accessible is dead
241 '''
242 pass
243
245 '''
246 Gets the number of child accessibles for the object implementing this
247 interface.
248
249 @return: Number of accessible children
250 @rtype: integer
251 @raise LookupError: When the accessible object is dead
252 '''
253 pass
254
256 '''
257 Gets the name of the application application to which the subject accessible
258 belongs.
259
260 @return: Name of the subject's application
261 @rtype: string
262 @raise LookupError: When the accessible or any parent accessible up to the
263 application is dead
264 '''
265 pass
266
268 '''
269 Gets a unique ID identifying the application to which the subject accessible
270 belongs.
271
272 @return: Unique identifier for the subject's application
273 @rtype: hashable
274 @raise LookupError: When the accessible or any parent accessible up to the
275 application is dead
276 '''
277 pass
278
280 '''
281 Gets the localized unicode accessible role name for the object implementing
282 this interface.
283
284 @return: Unicode role name
285 @rtype: string
286 @raise LookupError: When the accessible object is dead
287 '''
288 pass
289
291 '''
292 Gets the accessible name for the object implementing this interface.
293
294 @return: Name of the accessible
295 @rtype: string
296 @raise LookupError: When the accessible object is dead
297 @raise IndexError: When the item offset is outside the bounds of the
298 number of children of the subject accessible
299 '''
300 pass
301
303 '''
304 Gets the accessible description for the object implementing this interface.
305
306 @return: Accessible description of requested object
307 @rtype: string
308 @raise LookupError: When the subject accessible is dead
309 @raise IndexError: When the item offset is outside the bounds of the
310 number of children of the subject accessible
311 '''
312 pass
313
315 '''
316 Gets a list of states for the object implementing this interface.
317
318 @return: Names of all states
319 @rtype: list of string
320 @raise LookupError: When the subject accessible is dead
321 @raise IndexError: When the item offset is outside the bounds of the
322 number of children of the subject accessible
323 '''
324 pass
325
327 '''
328 Gets the accessible text for the object implementing this interface.
329 The item text will be the accessible text if that is available, otherwise
330 it will be the accessible name.
331
332 @return: The accessible text or name
333 @rtype: string
334 @raise LookupError: When the subject accessible is dead
335 @raise IndexError: When the item offset is invalid
336 '''
337 pass
338
340 '''
341 Gets a list of accessibles related to the subject accessible in the manner
342 given by kind.
343
344 @param kind: Name specifying the kind of relations to retrieve
345 @type kind: string
346 @return: List of L{AEPor}s related to subject accessible in the manner
347 given by kind
348 @rtype: list of L{AEPor}
349 @raise LookupError: When the accessible object is dead
350 '''
351 pass
352
353 - def getAccTextAttr(name):
354 '''
355 Gets the value of a given attribute name.
356
357 @param name: Name of the attribute
358 @type name: string
359 @return: Value of the accessible attribute
360 @rtype: string
361 @raise LookupError: When the accessible object is dead
362 '''
363 pass
364
366 '''
367 Gets all of the name:value attribute pairs of an accessible.
368
369 @return: Name:value pairs in the accessible attributes
370 @rtype: dictionary
371 @raise LookupError: When the accessible object is dead
372 '''
373 pass
374
376 '''
377 Gets the logical depth of an accessible within a tree or hierarchy.
378
379 @return: Level of an accessible with zero being the root
380 @rtype: integer
381 @raise LookupError: When the accessible object is dead
382 '''
383 pass
384
386 '''
387 Gets the index an accessible within some 1D ordered collection.
388
389 @return: Index of an accessible with zero being the first
390 @rtype: integer
391 @raise LookupError: When the accessible object is dead
392 '''
393 pass
394
396 '''
397 Gets the row index of an accessible within some 2D ordered collection.
398
399 @return: Row of an accessible with zero being the first
400 @rtype: integer
401 @raise LookupError: When the accessible object is dead
402 '''
403 pass
404
406 '''
407 Gets the column index of an accessible within some 2D ordered collection.
408
409 @return: Column of an accessible with zero being the first
410 @rtype: integer
411 @raise LookupError: When the accessible object is dead
412 '''
413 pass
414
416 '''
417 Gets the 1D index of the cell at the given 2D row and column.
418
419 @param row: Row index
420 @type row: integer
421 @param col: Column index
422 @type col: integer
423 @return: 1D index into the table
424 @rtype: integer
425 @raise IndexError: When the row/column offsets are invalid
426 @raise LookupError: When the accessible object is dead
427 '''
428 pass
429
431 '''
432 Gets the description of the column in which the accessible at the L{AEPor}
433 falls, typically the column header.
434
435 @return: Description of the column
436 @rtype: string
437 @raise LookupError: When the accessible object is dead
438 '''
439 pass
440
442 '''
443 Gets the description of the row in which the accessible at the L{AEPor}
444 falls, typically the row header.
445
446 @return: Description of the row
447 @rtype: string
448 @raise LookupError: When the accessible object is dead
449 '''
450 pass
451
453 '''
454 Gets a list of name:value attribute pairs for the subject.
455
456 @return: Name:value pairs of the accessible object attributes
457 @rtype: dictionary
458 @raise LookupError: When the accessible object is dead
459 '''
460 pass
461
463 '''
464 Gets the minimum, maximum, and step for the floating point value exposed
465 by the subject.
466
467 @return: Minimum, maximum, and step values
468 @rtype: 3-tuple of float
469 @raise LookupError: When the accessible object is dead
470 '''
471 pass
472
474 '''
475 Gets the visual width and height of the subject.
476
477 @return: Width and height extents
478 @rtype: 2-tuple of integer
479 @raise LookupError: When the accessible object is dead
480 '''
481 pass
482
484 '''
485 Gets the focal point within the subject, where the focal point is defined
486 as the center of the most interesting point of regard. For a simple
487 control, the focal point is the center of the control. For a control with
488 items, the focal point is the center of an item.
489
490 @return: x,y coordinates
491 @rtype: 2-tuple of integer
492 @raise LookupError: When the accessible object is dead
493 '''
494 pass
495
497 '''
498 Gets the position of the accessible object, usually upper-left corner.
499
500 @return: x,y coordinate
501 @rtype: 2-tuple integer
502 @raise NotImplementedError: When this accessible does not support the
503 Component interface
504 '''
505 pass
506
508 '''
509 Gets the current floating point value of the subject
510
511 @return: Current value
512 @rtype: float
513 @raise LookupError: When the accessible object is dead
514 '''
515 pass
516
518 '''
519 Gets all of the default text attributes assigned to the subject.
520
521 @return: Name:value pairs of the default text attributes
522 @rtype: dictionary
523 @raise LookupError: When the accessible object is dead
524 '''
525 pass
526
528 '''
529 Gets a list of all text selections in the subject if n is None, or the nth
530 selection if it is specified.
531
532 @param n: Index of selection to be returned, or None to indicate all
533 @type n: integer
534 @return: List of selected text runs
535 @rtype: list of string
536 @raise LookupError: When the accessible object is dead
537 '''
538 pass
539
540 - def getAccText(self, por):
541 '''
542 Gets the text starting at the subject and ending at the given L{AEPor}.
543
544 @param por: Point of regard to the end terminus of the get operation
545 @type por: L{AEPor}
546 @raise LookupError: When the accessible object is dead
547 '''
548 pass
549
551 '''
552 Returns the number of rows and columns in a table.
553
554 @return: Row and column count
555 @rtype: 2-tuple of integer
556 '''
557 pass
558
560 '''
561 Gets the POSIX locale of an application as a string.
562
563 @return: POSIX locale of the application
564 @rtype: string
565 '''
566 pass
567
569 '''
570 Gets whether or not the accessible considers itself embedded in an
571 ancestor's content.
572
573 @return: Does the accessible consider itself embedded?
574 @rtype: boolean
575 @raise LookupError: When the accessible object is dead
576 '''
577 pass
578
580 '''
581 Obtain a resource locator ('URI') string which can be used to access the
582 content to which this link "points" or is connected.
583
584 @return: URI string
585 @rtype: string
586 @raise LookupError: When the accessible object is dead
587 '''
588 pass
589
591 '''
592 Obtain he number of separate anchors associated with this accessible.
593
594 @return: Number of anchors
595 @rtype: integer
596 @raise PORError: When the L{AEPor} is invalid
597 '''
598 pass
599
601 '''
602 Gets whether or not the accessible considers itself to be trivial.
603
604 @return: Does the accessible consider itself trivial?
605 @rtype: boolean
606 @raise LookupError: When the accessible object is dead
607 '''
608 pass
609
611 '''
612 Gets whether or not the accessible considers itself visible.
613
614 @return: Does the accessible consider itself visible?
615 @rtype: boolean
616 @raise LookupError: When the accessible object is dead
617 '''
618 pass
619
621 '''
622 Gets the unlocalized string role identifier for the object implementing
623 this interface.
624
625 @return: Role name
626 @rtype: string
627 @raise LookupError: When the accessible object is dead
628 '''
629 pass
630
632 '''
633 Gets if the subject has the given role.
634
635 @param role: Name of the role
636 @type role: string
637 @return: Does the accessible have the given role?
638 @rtype: boolean
639 @raise LookupError: When the accessible object is dead
640 '''
641 pass
642
644 '''
645 Gets if the subject has any one of the given roles.
646
647 @param roles: Names of the roles
648 @type roles: list of string
649 @return: Does the accessible have any one of the given roles?
650 @rtype: boolean
651 '''
652 pass
653
655 '''
656 Gets if the subject has the given state.
657
658 @param state: Name of the state
659 @type state: string
660 @return: Does the accessible have the given state?
661 @rtype: boolean
662 @raise LookupError: When the accessible object is dead
663 '''
664 pass
665
667 '''
668 Gets if the subject has at least one of the given states.
669
670 @param states: State names
671 @type states: string
672 @return: Does the accessible have at least one of the given states?
673 @rtype: boolean
674 @raise LookupError: When the accessible object is dead
675 '''
676 pass
677
679 '''
680 Gets if the subject has all of the given states.
681
682 @param states: State names
683 @type states: string
684 @return: Does the accessible have all of the given states?
685 @rtype: boolean
686 @raise LookupError: When the accessible object is dead
687 '''
688 pass
689
691 '''
692 Gets whether or not the subject accessible allows embedded objects in its
693 text.
694
695 @return: Does the subject allow embedded objects?
696 @rtype: boolean
697 @raise LookupError: When the accessible object is dead
698 '''
699 pass
700
702 '''
703 Gets whether or not the subject accessible is a top-level container in the
704 accessible hierarchy.
705
706 @return: Is the subject a top-level container or not?
707 @rtype: boolean
708 @raise LookupError: When the accessible object is dead
709 '''
710 pass
711
713 '''
714 Gets the list of all action names defined by the subject.
715
716 @return: List of all action names
717 @rtype: list of string
718 @raise LookupError: When the accessible object is dead
719 '''
720 pass
721
723 '''
724 Gets the list of all action descriptions defined by the subject.
725
726 @return: List of all action descriptions
727 @rtype: list of string
728 @raise LookupError: When the accessible object is dead
729 '''
730 pass
731
733 '''
734 Gets the number of available actions on the subject.
735
736 @return: Number of actions available
737 @rtype: integer
738 @raise LookupError: When the accessible object is dead
739 '''
740 pass
741
743 '''
744 Gets the key bindings associated with all available actions.
745
746 @return: List of tuples, each containing one or more string keysym names
747 indicating the keys to press in sequence to perform the action
748 @rtype: list of tuple of string
749 @raise LookupError: When the accessible object is dead
750 '''
751 pass
752
754 '''
755 Gets the number of discontiguous selected text ranges.
756
757 @return: Number of selections
758 @rtype: integer
759 @raise LookupError: When the accessible object is dead
760 '''
761 pass
762
764 '''
765 Gets the current offset of the caret in this text object as a L{AEPor}.
766
767 @return: Point of regard of the text caret in this object
768 @rtype: L{AEPor}
769 @raise LookupError: When the accessible object is dead
770 '''
771 pass
772
774 '''
775 Gets the number of characters in a text body.
776
777 @return: Total number of characters
778 @rtype: integer
779 @raise LookupError: When the accessible object is dead
780 '''
781 pass
782
784 '''
785 Provides methods for manipulating accessible objects.
786 '''
788 '''
789 Gives the subject accessible the input focus.
790
791 @return: Did accessible accept (True) or refuse (False) the focus change?
792 @rtype: boolean
793 @raise LookupError: When the accessible object is dead or does not support
794 setting the focus
795 '''
796 pass
797
799 '''
800 Selects the subject accessible or one of its children or items if all is
801 False. Selects all children or items if all is True.
802
803 @param all: Select all items?
804 @type all: boolean
805 @return: Did accessible accept (True) or refuse (False) the selection?
806 @rtype: boolean
807 @raise LookupError: When the accessible object is dead
808 '''
809 pass
810
812 '''
813 Deselects the subject accessible if all is False. Deselects all children if
814 all is True.
815
816 @param all: Deselect all children?
817 @type all: boolean
818 @return: Did accessible accept (True) or refuse (False) the deselection?
819 @rtype: boolean
820 @raise LookupError: When the accessible object is dead
821 '''
822 pass
823
825 '''
826 Executes the action given by the index in the list of all actions.
827
828 @param index: Index of the action to execute
829 @type index: integer
830 @return: Did the action execute (True) or not (False)?
831 @rtype: boolean
832 @raise LookupError: When the accessible object is dead
833 '''
834 pass
835
837 '''
838 Moves the caret to the location given by the subject.
839
840 @return: Indicator of whether the caret was moved successfully
841 @rtype: boolean
842 @raise LookupError: When the accessible object is dead
843 '''
844 pass
845
846 - def setAccText(text):
847 '''
848 Replace contents of text area with the given text.
849
850 @param text: Text to set as the content of the text area
851 @type text: string
852 @return: Indicator of whether the text was set successfully or not
853 @rtype: boolean
854 @raise LookupError: When the accessible object is dead
855 '''
856 pass
857
858 - def insertAccText(text, attrs):
859 '''
860 Inserts text at the location given by the subject.
861
862 @param text: Text to insert at the given position
863 @type text: string
864 @param attrs: Dictionary of string name/value pairs of text attributes to
865 set on the inserted text
866 @type attrs: dictionary
867 @return: Indicator of whether the text was inserted successfully or not
868 @rtype: boolean
869 @raise LookupError: When the accessible object is dead
870 '''
871 pass
872
873 - def setAccTextAttrs(por, attrs):
874 '''
875 Sets the accessible text attributes from the subject to the given L{AEPor}.
876
877 @param por: Point of regard to the end of the text run
878 @type por: L{AEPor}
879 @param attrs: Dictionary of string name/value pairs of text attributes to
880 set on the text range
881 @type attrs: dictionary
882 @return: Indicator of whether the text attributes were set successfully or
883 not
884 @rtype: boolean
885 @raise LookupError: When the accessible object is dead
886 '''
887 pass
888
889 - def copyAccText(por):
890 '''
891 Copy the text starting at the subject and ending at the given L{AEPor}.
892
893 @param por: Point of regard to the end terminus of the copy operation
894 @type por: L{AEPor}
895 @return: Indicator of whether the text was copied successfully or not
896 @rtype: boolean
897 @raise LookupError: When the accessible object is dead
898 '''
899 pass
900
901 - def cutAccText(por):
902 '''
903 Cut the text starting at the subject and ending at the given L{AEPor}.
904
905 @param por: Point of regard to the end terminus of the copy operation
906 @type por: L{AEPor}
907 @return: Indicator of whether the text was copied successfully or not
908 @rtype: boolean
909 @raise LookupError: When the accessible object is dead
910 '''
911 pass
912
913 - def deleteAccText(por):
914 ''''
915 Delete the text starting at the subject and ending at the given L{AEPor}.
916
917 @param por: Point of regard to the end terminus of the copy operation
918 @type por: L{AEPor}
919 @return: Indicator of whether the text was copied successfully or not
920 @rtype: boolean
921 @raise LookupError: When the accessible object is dead
922 '''
923 pass
924
926 '''
927 Paste the text starting at the subject.
928
929 @return: Indicator of whether the text was copied successfully or not
930 @rtype: boolean
931 @raise LookupError: When the accessible object is dead
932 '''
933 pass
934
935 - def selectAccText(por, n=None):
936 '''
937 Adds a new selection if n is None or sets the nth selection otherwise
938 starting at the subject and ending at the given L{AEPor}.
939
940 @param por: Point of regard to the end terminus of the select operation
941 @type por: L{AEPor}
942 @return: Indicator of whether the text was selected successfully or not
943 @rtype: boolean
944 @raise LookupError: When the accessible object is dead
945 '''
946 pass
947
948 - def deselectAccText(por, n=None):
949 '''
950 Removes a all text selections if n is None or removes the nth text
951 selection otherwise. When n is None, returns True if at least one selection
952 was removed.
953
954 @param por: Point of regard to the end terminus of the select operation
955 @type por: L{AEPor}
956 @return: Indicator of whether the text was deselected successfully or not
957 @rtype: boolean
958 @raise LookupError: When the accessible object is dead
959 '''
960 pass
961
963 '''
964 Performs a mouse event on the center of a given point of regard.
965
966 @param event: Mouse event to perform
967 @type event: integer of type EVENT_SYNTHMOUSE*
968 @return: Indicator of whether the event was performed (True) or not (False)
969 @raise LookupError: When the accessible object is dead
970 '''
971 pass
972
974 '''
975 Provides methods for handling accessible events.
976 '''
978 '''
979 Gets a list of raw event names that map to the given kind of L{AEEvent}.
980
981 @param kind: Indicates the type of L{AEEvent}
982 @type kind: L{AEEvent} class
983 @return: List of raw event names
984 @rtype: list of string
985 @raise KeyError: When no mapping exists for the given event
986 '''
987 pass
988
990 '''
991 Determines if the active view has changed and what events need to be
992 fired in response.
993
994 @param event: Raw event
995 @type event: C{pyatspi.event.Event}
996 @param collector: Callable object that collects L{AEEvent}s to process.
997 Accepts N parameters of type L{AEEvent}.
998 @type collector: callable
999 @param vm: Reference to the view manager that has information about the
1000 current view and needs to store a reference to a new view
1001 @type vm: L{AEViewManager}
1002 '''
1003 pass
1004
1006 '''
1007 Collects the L{AEEvent}s that need to be posted for this event.
1008
1009 @param event: Raw event
1010 @type event: object
1011 @param collector: Callable object that collects L{AEEvent}s to process.
1012 Accepts N parameters of type L{AEEvent}.
1013 @type collector: callable
1014 '''
1015 pass
1016
1018 '''
1019 Provides methods for building L{AEPor}s.
1020 '''
1022 '''
1023 Returns a complete L{AEPor} built based on the properties of the subject.
1024
1025 @return: Point of regard
1026 @rtype: L{AEPor}
1027 '''
1028 pass
1029