| 1 | # Remote nusers client interface
|
|---|
| 2 |
|
|---|
| 3 | import rpc
|
|---|
| 4 | from rpc import Packer, Unpacker, UDPClient, BroadcastUDPClient
|
|---|
| 5 |
|
|---|
| 6 |
|
|---|
| 7 | class RnusersPacker(Packer):
|
|---|
| 8 | def pack_utmp(self, ui):
|
|---|
| 9 | ut_line, ut_name, ut_host, ut_time = utmp
|
|---|
| 10 | self.pack_string(ut_line)
|
|---|
| 11 | self.pack_string(ut_name)
|
|---|
| 12 | self.pack_string(ut_host)
|
|---|
| 13 | self.pack_int(ut_time)
|
|---|
| 14 | def pack_utmpidle(self, ui):
|
|---|
| 15 | ui_itmp, ui_idle = ui
|
|---|
| 16 | self.pack_utmp(ui_utmp)
|
|---|
| 17 | self.pack_uint(ui_idle)
|
|---|
| 18 | def pack_utmpidlearr(self, list):
|
|---|
| 19 | self.pack_array(list, self.pack_itmpidle)
|
|---|
| 20 |
|
|---|
| 21 |
|
|---|
| 22 | class RnusersUnpacker(Unpacker):
|
|---|
| 23 | def unpack_utmp(self):
|
|---|
| 24 | ut_line = self.unpack_string()
|
|---|
| 25 | ut_name = self.unpack_string()
|
|---|
|
|---|