diff options
Diffstat (limited to 'mncc_sock.py')
-rw-r--r-- | mncc_sock.py | 25 |
1 files changed, 6 insertions, 19 deletions
diff --git a/mncc_sock.py b/mncc_sock.py index 34ab361..9887471 100644 --- a/mncc_sock.py +++ b/mncc_sock.py @@ -15,45 +15,32 @@ import os import mncc import ctypes -class mncc_msg(mncc.gsm_mncc): +class mncc_msg_common: def send(self): return buffer(self)[:] def receive(self, bytes): fit = min(len(bytes), ctypes.sizeof(self)) ctypes.memmove(ctypes.addressof(self), bytes, fit) + +class mncc_msg(mncc.gsm_mncc, mncc_msg_common): def __str__(self): return 'mncc_msg(type=0x%04x, callref=%u, fields=0x%04x)' % (self.msg_type, self.callref, self.fields) def __unicode__(self): return u'mncc_msg(type=0x%04x, callref=%u, fields=0x%04x)' % (self.msg_type, self.callref, self.fields) -class mncc_hello_msg(mncc.gsm_mncc_hello): - def send(self): - return buffer(self)[:] - def receive(self, bytes): - fit = min(len(bytes), ctypes.sizeof(self)) - ctypes.memmove(ctypes.addressof(self), bytes, fit) +class mncc_hello_msg(mncc.gsm_mncc_hello, mncc_msg_common): def __str__(self): return 'mncc_hello_msg(version=0x%04x)' % (self.version) def __unicode__(self): return u'mncc_hello_msg(version=0x%04x)' % (self.version) -class mncc_rtp_msg(mncc.gsm_mncc_rtp): - def send(self): - return buffer(self)[:] - def receive(self, bytes): - fit = min(len(bytes), ctypes.sizeof(self)) - ctypes.memmove(ctypes.addressof(self), bytes, fit) +class mncc_rtp_msg(mncc.gsm_mncc_rtp, mncc_msg_common): def __str__(self): return 'mncc_rtp_msg(type=0x%04x, callref=%u, ip=%x, port=%u)' % (self.msg_type, self.callref, self.ip, self.port) def __unicode__(self): return u'mncc_rtp_msg(type=0x%04x, callref=%u, ip=%x, port=%u)' % (self.msg_type, self.callref, self.ip, self.port) -class mncc_bridge_msg(mncc.gsm_mncc_bridge): - def send(self): - return buffer(self)[:] - def receive(self, bytes): - fit = min(len(bytes), ctypes.sizeof(self)) - ctypes.memmove(ctypes.addressof(self), bytes, fit) +class mncc_bridge_msg(mncc.gsm_mncc_bridge, mncc_msg_common): def __str__(self): return 'mncc_bridge_msg(%u, %u)' % (self.callref[0], self.callref[1]) def __unicode__(self): |