File: wx.lib.pubsub.core.topicdefnprovider.TopicDefnProvider.txt

package info (click to toggle)
wxpython4.0 4.0.7%2Bdfsg-10
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 210,992 kB
  • sloc: cpp: 888,989; python: 226,808; makefile: 52,078; ansic: 45,837; sh: 3,014; xml: 1,534; javascript: 436; perl: 264
file content (144 lines) | stat: -rw-r--r-- 5,987 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
.. wxPython Phoenix documentation

   This file was generated by Phoenix's sphinx generator and associated
   tools, do not edit by hand.

   Copyright: (c) 2011-2018 by Total Control Software
   License:   wxWindows License

.. include:: headings.inc

.. currentmodule:: wx.lib.pubsub.core.topicdefnprovider

.. highlight:: python



.. _wx.lib.pubsub.core.topicdefnprovider.TopicDefnProvider:

==========================================================================================================================================
|phoenix_title|  **wx.lib.pubsub.core.topicdefnprovider.TopicDefnProvider**
==========================================================================================================================================

Default implementation of the ITopicDefnProvider API. This
implementation accepts several formats for the topic tree 
source data and delegates to a registered ITopicDefnDeserializer
that converts source data into topic definitions. 

This provider is instantiated automatically by 
``pub.addTopicDefnProvider(source, format)``
when source is *not* an ITopicDefnProvider.

Additional de-serializers can be registered via registerTypeForImport().



|

|class_hierarchy| Class Hierarchy
=================================

.. raw:: html

   <div id="toggleBlock" onclick="return toggleVisibility(this)" class="closed" style="cursor:pointer;">
   <img id="toggleBlock-trigger" src="_static/images/closed.png"/>
   Inheritance diagram for class <strong>TopicDefnProvider</strong>:
   </div>
   <div id="toggleBlock-summary" style="display:block;"></div>
   <div id="toggleBlock-content" style="display:none;">
   <p class="graphviz">
   <center><img src="_static/images/inheritance/wx.lib.pubsub.core.topicdefnprovider.TopicDefnProvider_inheritance.png" alt="Inheritance diagram of TopicDefnProvider" usemap="#dummy" class="inheritance"/></center>
   <script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script>
   <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.lib.pubsub.core.topicdefnprovider.TopicDefnProvider.html" title="wx.lib.pubsub.core.topicdefnprovider.TopicDefnProvider" alt="" coords="7,83,391,112"/> <area shape="rect" id="node2" href="wx.lib.pubsub.core.topicdefnprovider.ITopicDefnProvider.html" title="wx.lib.pubsub.core.topicdefnprovider.ITopicDefnProvider" alt="" coords="5,5,393,35"/> </map> 
   </p>
   </div>

|


|super_classes| Known Superclasses
==================================

:class:`wx.lib.pubsub.core.topicdefnprovider.ITopicDefnProvider`

|


|method_summary| Methods Summary
================================

===================================================================================== ================================================================================
:meth:`~wx.lib.pubsub.core.topicdefnprovider.TopicDefnProvider.__init__`              Find the correct de-serializer class from registry for the given
:meth:`~wx.lib.pubsub.core.topicdefnprovider.TopicDefnProvider.getDefn`               Must return a pair (string, ArgSpecGiven) for given topic.
:meth:`~wx.lib.pubsub.core.topicdefnprovider.TopicDefnProvider.getTreeDoc`            Get the docstring for the topic tree.
:meth:`~wx.lib.pubsub.core.topicdefnprovider.TopicDefnProvider.initTypeRegistry`      
:meth:`~wx.lib.pubsub.core.topicdefnprovider.TopicDefnProvider.registerTypeForImport` If a new type of importer is defined for topic definitions, it
:meth:`~wx.lib.pubsub.core.topicdefnprovider.TopicDefnProvider.topicNames`            Return an iterator over topic names available from this provider.
===================================================================================== ================================================================================


|


|api| Class API
===============


.. class:: TopicDefnProvider(ITopicDefnProvider)

   Default implementation of the ITopicDefnProvider API. This
   implementation accepts several formats for the topic tree 
   source data and delegates to a registered ITopicDefnDeserializer
   that converts source data into topic definitions. 
   
   This provider is instantiated automatically by 
   ``pub.addTopicDefnProvider(source, format)``
   when source is *not* an ITopicDefnProvider.
   
   Additional de-serializers can be registered via registerTypeForImport().

   .. method:: __init__(self, source, format, \*\*providerKwargs)

      Find the correct de-serializer class from registry for the given
      format; instantiate it with given source and providerKwargs; get 
      all available topic definitions.


   .. method:: getDefn(self, topicNameTuple)

      Must return a pair (string, ArgSpecGiven) for given topic.
      The first item is a description for topic, the second item 
      contains the message data specification (MDS). Note topic name
      is in tuple format ('a', 'b', 'c') rather than 'a.b.c'. 


   .. method:: getTreeDoc(self)

      Get the docstring for the topic tree.


   .. classmethod:: initTypeRegistry(cls)


   .. classmethod:: registerTypeForImport(cls, typeName, providerClassObj)

      If a new type of importer is defined for topic definitions, it
      can be registered with pubsub by providing a name for the new 
      importer (typeName), and the class to instantiate when 
      pub.addTopicDefnProvider(obj, typeName) is called. For instance, ::  
      
          from pubsub.core.topicdefnprovider import ITopicDefnDeserializer
          class SomeNewImporter(ITopicDefnDeserializer): 
              ...
          TopicDefnProvider.registerTypeForImport('some name', SomeNewImporter)
          # will instantiate SomeNewImporter(source)
          pub.addTopicDefnProvider(source, 'some name') 


   .. method:: topicNames(self)

      Return an iterator over topic names available from this provider.
      Note that the topic names should be in tuple rather than dotted-string
      format so as to be compatible with getDefn().