Skip to content
Snippets Groups Projects
Commit 54f0853f authored by Sven Gestegård Robertz's avatar Sven Gestegård Robertz
Browse files

added handler callbacks to python decoder

parent b37dd43a
No related branches found
No related tags found
No related merge requests found
...@@ -874,6 +874,10 @@ class Decoder(Codec): ...@@ -874,6 +874,10 @@ class Decoder(Codec):
super(Decoder, self).__init__() super(Decoder, self).__init__()
self.reader = reader self.reader = reader
self.version = version self.version = version
self.handlers = {}
def register_handler(self, sig, handler):
self.handlers[str(sig)] = handler
def unpack(self, format): def unpack(self, format):
size = packer.calcsize(format) size = packer.calcsize(format)
...@@ -903,6 +907,17 @@ class Decoder(Codec): ...@@ -903,6 +907,17 @@ class Decoder(Codec):
else: else:
raise Exception("Invalid type index %d" % index) raise Exception("Invalid type index %d" % index)
def runOne(self):
data,decl = self.decode()
if decl:
if data:
if str(decl) in self.handlers:
handler = self.handlers[str(decl)]
handler(data)
else:
print ("No handler for %s" % decl.name )
def decode(self): def decode(self):
while True: while True:
index = self.decode_type_number() index = self.decode_type_number()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment