Public Member Functions | Public Attributes | Private Member Functions | List of all members
mycroft.client.enclosure.base.Enclosure Class Reference
Inheritance diagram for mycroft.client.enclosure.base.Enclosure:
Inheritance graph
[legend]

Public Member Functions

def __init__ (self)
 
def callback_disconnect (self, gui_id)
 
def on_gui_client_connected (self, message)
 GUI client socket. More...
 
def on_gui_delete_namespace (self, message)
 
def on_gui_delete_page (self, message)
 
def on_gui_send_event (self, message)
 
def on_gui_set_value (self, message)
 
def on_gui_show_page (self, message)
 
def register_gui_handlers (self)
 
def remove_namespace (self, namespace)
 
def remove_pages (self, namespace, pages)
 
def run (self)
 
def send (self, args, kwargs)
 GUI client API. More...
 
def set (self, namespace, name, value)
 
def show (self, namespace, page, index)
 

Public Attributes

 active_namespaces
 
 bus
 
 config
 
 datastore
 
 explicit_move
 
 global_config
 
 GUIs
 
 lang
 
 loaded
 

Private Member Functions

def __find_namespace (self, namespace)
 
def __insert_new_namespace (self, namespace, pages)
 
def __insert_pages (self, namespace, pages)
 
def __move_namespace (self, from_pos, to_pos)
 
def __remove_page (self, namespace, pos)
 
def __switch_page (self, namespace, pages)
 

Detailed Description

Definition at line 60 of file base.py.

Constructor & Destructor Documentation

def mycroft.client.enclosure.base.Enclosure.__init__ (   self)

Definition at line 61 of file base.py.

Member Function Documentation

def mycroft.client.enclosure.base.Enclosure.__find_namespace (   self,
  namespace 
)
private

Definition at line 189 of file base.py.

def mycroft.client.enclosure.base.Enclosure.__insert_new_namespace (   self,
  namespace,
  pages 
)
private
Insert new namespace and pages.

This first sends a message adding a new namespace at the
highest priority (position 0 in the namespace stack)

Args:
    namespace (str):  The skill namespace to create
    pages (str):      Pages to insert (name matches QML)

Definition at line 231 of file base.py.

def mycroft.client.enclosure.base.Enclosure.__insert_pages (   self,
  namespace,
  pages 
)
private
Insert pages into the namespace

Args:
    namespace (str): Namespace to add to
    pages (list):    Pages (str) to insert

Definition at line 195 of file base.py.

def mycroft.client.enclosure.base.Enclosure.__move_namespace (   self,
  from_pos,
  to_pos 
)
private
Move an existing namespace to a new position in the stack.

Args:
    from_pos (int): Position in the stack to move from
    to_pos (int): Position to move to

Definition at line 265 of file base.py.

def mycroft.client.enclosure.base.Enclosure.__remove_page (   self,
  namespace,
  pos 
)
private
Delete page.

Args:
    namespace (str): Namespace to remove from
    pos (int):      Page position to remove

Definition at line 215 of file base.py.

def mycroft.client.enclosure.base.Enclosure.__switch_page (   self,
  namespace,
  pages 
)
private
Switch page to an already loaded page.

Args:
    pages (list): pages (str) to switch to
    namespace (str):  skill namespace

Definition at line 285 of file base.py.

def mycroft.client.enclosure.base.Enclosure.callback_disconnect (   self,
  gui_id 
)

Definition at line 415 of file base.py.

def mycroft.client.enclosure.base.Enclosure.on_gui_client_connected (   self,
  message 
)

GUI client socket.

The basic mechanism is: 1) GUI client announces itself on the main messagebus 2) Mycroft prepares a port for a socket connection to this GUI 3) The port is announced over the messagebus 4) The GUI connects on the socket 5) Connection persists for graphical interaction indefinitely

If the connection is lost, it must be renegotiated and restarted.

Definition at line 397 of file base.py.

def mycroft.client.enclosure.base.Enclosure.on_gui_delete_namespace (   self,
  message 
)
Bus handler for removing namespace. 

Definition at line 171 of file base.py.

def mycroft.client.enclosure.base.Enclosure.on_gui_delete_page (   self,
  message 
)
Bus handler for removing pages. 

Definition at line 162 of file base.py.

def mycroft.client.enclosure.base.Enclosure.on_gui_send_event (   self,
  message 
)
Send an event to the GUIs. 

Definition at line 125 of file base.py.

def mycroft.client.enclosure.base.Enclosure.on_gui_set_value (   self,
  message 
)

Definition at line 136 of file base.py.

def mycroft.client.enclosure.base.Enclosure.on_gui_show_page (   self,
  message 
)

Definition at line 180 of file base.py.

def mycroft.client.enclosure.base.Enclosure.register_gui_handlers (   self)

Definition at line 425 of file base.py.

def mycroft.client.enclosure.base.Enclosure.remove_namespace (   self,
  namespace 
)
Remove namespace.

Args:
    namespace (str): namespace to remove

Definition at line 344 of file base.py.

def mycroft.client.enclosure.base.Enclosure.remove_pages (   self,
  namespace,
  pages 
)
Remove the listed pages from the provided namespace.

Args:
    namespace (str):    The namespace to modify
    pages (list):       List of page names (str) to delete

Definition at line 363 of file base.py.

def mycroft.client.enclosure.base.Enclosure.run (   self)

Definition at line 107 of file base.py.

def mycroft.client.enclosure.base.Enclosure.send (   self,
  args,
  kwargs 
)

GUI client API.

Send to all registered GUIs. 

Definition at line 117 of file base.py.

def mycroft.client.enclosure.base.Enclosure.set (   self,
  namespace,
  name,
  value 
)
Perform the send of the values to the connected GUIs. 

Definition at line 148 of file base.py.

def mycroft.client.enclosure.base.Enclosure.show (   self,
  namespace,
  page,
  index 
)
Show a page and load it as needed.

Args:
    page (str or list): page(s) to show
    namespace (str):  skill namespace
    index (int): ??? TODO: Unused in code ???

TODO: - Update sync to match.
      - Separate into multiple functions/methods

Definition at line 305 of file base.py.

Member Data Documentation

mycroft.client.enclosure.base.Enclosure.active_namespaces

Definition at line 96 of file base.py.

mycroft.client.enclosure.base.Enclosure.bus

Definition at line 63 of file base.py.

mycroft.client.enclosure.base.Enclosure.config

Definition at line 70 of file base.py.

mycroft.client.enclosure.base.Enclosure.datastore

Definition at line 78 of file base.py.

mycroft.client.enclosure.base.Enclosure.explicit_move

Definition at line 92 of file base.py.

mycroft.client.enclosure.base.Enclosure.global_config

Definition at line 71 of file base.py.

mycroft.client.enclosure.base.Enclosure.GUIs

Definition at line 95 of file base.py.

mycroft.client.enclosure.base.Enclosure.lang

Definition at line 69 of file base.py.

mycroft.client.enclosure.base.Enclosure.loaded

Definition at line 91 of file base.py.


The documentation for this class was generated from the following file:


mycroft_ros
Author(s):
autogenerated on Mon Apr 26 2021 02:35:40