Subversion Repositories HomeAutomation

Rev

Rev 736 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed

Rev 736 Rev 737
1
###########################################################
1
###########################################################
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
 
7
 
8
class CanPktHandler1(CanPktHandlerBase):
8
class CanPktHandler1(CanPktHandlerBase):
9
   
9
   
10
    daemonCfg = None
10
    daemonCfg = None
11
   
11
   
12
    def __init__ (self, daemonCfg):
12
    def __init__ (self, daemonCfg):
13
        self.daemonCfg = daemonCfg
13
        self.daemonCfg = daemonCfg
14
   
14
   
15
    def input(self, data):
15
    def input(self, data):
16
        """Make data buffer into CanPkt and do early discard check """
16
        """Make data buffer into CanPkt and do early discard check """
17
        """Call all filters in chain """
17
        """Call all filters in chain """
18
       
18
       
19
        if len(data) < 2:
19
        if len(data) < 2:
20
            return
20
            return
21
        if data[0:3] != 'PKT':
21
        if data[0:3] != 'PKT':
22
            return
22
            return
23
       
23
       
24
        print data
24
        print data
25
       
25
       
26
        # FIXME: convert data to class canpkt before passing to filter chain
26
        # FIXME: convert data to class canpkt before passing to filter chain
27
       
-
 
28
        for filter in daemonConfig.filterChain:
27
        for filter in self.daemonCfg.filterChain:
29
            fObj = cfg.filterCfg.filterModules[filter]
28
            fObj = self.daemonCfg.filterCfg.filterModules[filter]
30
            fObj.filter(data, fObj.__ASSOCIATED_SPACES__)
29
            fObj.filter(data, fObj.__ASSOCIATED_SPACES__)
31
   
30
   
32
    def output(self, data):
31
    def output(self, data):
33
        pass
32
        pass
34
 
33