Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/devices/device.py
diff options
context:
space:
mode:
authorWalter Bender <walter@sugarlabs.org>2010-12-02 15:43:02 (GMT)
committer Walter Bender <walter@sugarlabs.org>2010-12-02 15:43:02 (GMT)
commitec79631f5e8370cfefcc581f9e74a9e3898fc7af (patch)
tree50e4bf13aa74f766eb6da6f62752e980d912bf2b /devices/device.py
parentb81c72123fbfba5944e8e763a6d103d6b8479cfa (diff)
adding rfid support
Diffstat (limited to 'devices/device.py')
-rw-r--r--devices/device.py61
1 files changed, 61 insertions, 0 deletions
diff --git a/devices/device.py b/devices/device.py
new file mode 100644
index 0000000..04a82b2
--- /dev/null
+++ b/devices/device.py
@@ -0,0 +1,61 @@
+import gobject
+
+class RFIDDevice(gobject.GObject):
+ """
+ Ancestor class for every supported device.
+ The main class for the device driver must be called "RFIDReader".
+ """
+ # signal "tag-read" has to be emitted when a tag has been read.
+ # The handler must receive the ISO-11784 hex value of the tag.
+ # signal "disconnected" has to be emitted when the device is
+ # unplugged or an error has been detected.
+ __gsignals__ = {
+ 'tag-read': (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE,
+ (gobject.TYPE_STRING,)),
+ 'disconnected': (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE,
+ (gobject.TYPE_STRING,))
+ }
+ def __init__(self):
+ """
+ Initializer. Subclasses must call this method.
+ """
+ self.__gobject_init__()
+
+ def get_present(self):
+ """
+ This method must detect if the device is present, returning True if so,
+ or False otherwise.
+ """
+ raise NotImplementedError
+
+ def get_version(self):
+ """
+ Returns a descriptive text of the device.
+ """
+ raise NotImplementedError
+
+ def do_connect(self):
+ """
+ Connects to the device.
+ Must return True if successfull, False otherwise.
+ """
+ raise NotImplementedError
+
+ def do_disconnect(self):
+ """
+ Disconnects from the device.
+ """
+ raise NotImplementedError
+
+ def read_tag(self):
+ """
+ Returns the 64 bit data in hex format of the last read tag.
+ """
+ raise NotImplementedError
+
+ def write_tag(self, hex_val):
+ """
+ Could be implemented if the device is capable of writing tags.
+ Receives the hex value (according to ISO 11784) to be written.
+ Returns True if successfull or False if something went wrong.
+ """