2 """
3 The base class for all packetloaders.
4 """
5
6 - def __init__(self, data = None, **settings):
7 """
8 @type data: str or buffer
9 @param settings: Settings set for this packetloader
10 """
11 self.settings = settings
12 self.initialize()
13 if data is not None:
14 self.read(data)
15
16 - def new(self, loaderClass, *arg, **kw):
17 """
18 Creates a new loader from loaderClass and passes the
19 current settings to it
20
21 @type loaderClass: _BaseLoader
22 """
23 kw.update(self.settings)
24 kw['parent'] = self
25 newLoader = loaderClass(*arg, **kw)
26 return newLoader
27
29 """
30 Initializer for this loader
31 """
32
33 - def read(self, data):
34 """
35 Parses 'data' and sets the properties of the
36 packetloader.
37 @type data: str or buffer
38 """
39 raise NotImplementedError('read() method not implemented (%s)' % self.__class__)
40
42 """
43 Generate the raw representation of the packetloader.
44 """
45 raise NotImplementedError('generate() method not implemented')
46
48 - def read(self, data):
50
53