Subversion Repositories HomeAutomation

Rev

Rev 737 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed

Rev 737 Rev 738
Line 2... Line 2...
2
#
2
#
3
# The default implementation of the packet handler
3
# The default implementation of the packet handler
4
#
4
#
5
###########################################################
5
###########################################################
6
from CanPktHandlerBase import CanPktHandlerBase
6
from CanPktHandlerBase import CanPktHandlerBase
-
 
7
from CanPkt import CanPkt
7
 
8
 
8
class CanPktHandler1(CanPktHandlerBase):
9
class CanPktHandler1(CanPktHandlerBase):
9
   
10
   
10
    daemonCfg = None
11
    daemonCfg = None
11
   
12
   
12
    def __init__ (self, daemonCfg):
13
    def __init__ (self, daemonCfg):
13
        self.daemonCfg = daemonCfg
14
        self.daemonCfg = daemonCfg
14
   
15
       
15
    def input(self, data):
16
    def input(self, strdata):
16
        """Make data buffer into CanPkt and do early discard check """
17
        """Make data buffer into CanPkt and do early discard check """
17
        """Call all filters in chain """
18
        """Call all filters in chain """
18
       
19
       
19
        if len(data) < 2:
20
        if len(strdata) < 2:
20
            return
21
            return
21
        if data[0:3] != 'PKT':
22
        if strdata[0:3] != 'PKT':
22
            return
23
            return
23
       
24
 
24
        print data
25
        pkt = CanPkt.stringToCanPkt(self, strdata)
25
       
26
 
26
        # FIXME: convert data to class canpkt before passing to filter chain
-
 
27
        for filter in self.daemonCfg.filterChain:
27
        for filter in self.daemonCfg.filterChain:
28
            fObj = self.daemonCfg.filterCfg.filterModules[filter]
28
            fObj = self.daemonCfg.filterCfg.filterModules[filter]
29
            fObj.filter(data, fObj.__ASSOCIATED_SPACES__)
29
            fObj.filter(pkt, fObj.__ASSOCIATED_SPACES__)
-
 
30
   
30
   
31
   
31
    def output(self, data):
32
    def output(self, data):
32
        pass
33
        pass