Esempio n. 1
0
    def __init__(self,
                 config,
                 blocklist,
                 adapter,
                 agent,
                 logger,
                 lock,
                 queue=None,
                 hash_cache=None):
        Thread.__init__(self)
        #print "#########################################"
        #print "# Starting ObexSender"
        if not isinstance(config, ObexSenderConfig):
            raise TypeError("Invalid config")
        if not isinstance(blocklist, ObexSenderBlocklist):
            raise TypeError("Invalid blocklist")
        if not isinstance(adapter, Adapter):
            raise TypeError("Invalid adapter")
        if not isinstance(logger, ObexSenderLogger):
            raise TypeError("Invalid logger")
        ObexSenderHashCache

        self.__config = config
        self.__blocklist = blocklist
        self.__adapter = adapter
        self.__agent = agent
        self.__logger = logger
        self.__queue = queue
        self.__lock = lock

        ignore = self.__config.get_values("ignore")
        if not ignore == None:
            self.__ignore = ignore
        else:
            self.__ignore = []

        tester = self.__config.get_values("tester")
        if not tester == None:
            self.__tester = tester
        else:
            self.__tester = []

        files = self.__config.get_send_files()
        if not files == None:
            self.__files = files
        else:
            self.__files = []

        inquirydelay = self.__config.get_values("inquirydelay")
        if (inquirydelay == None):
            inquirydelay = 10
        else:
            inquirydelay = int(inquirydelay[0])
        self.__inquirydelay = inquirydelay

        whitelistrssi = self.__config.get_values("whitelistrssi")
        if not whitelistrssi == None:
            self.__whitelistrssi = int(whitelistrssi[0])
        else:
            self.__whitelistrssi = 0

        rssi = self.__config.get_values("rssi")
        if not rssi == None:
            self.__rssi = int(rssi[0])
        else:
            self.__rssi = -80

        testerdelay = self.__config.get_values("testerdelay")
        if not testerdelay == None:
            self.__testerdelay = int(testerdelay[0])
        else:
            self.__testerdelay = 60

        ##
        # Enable/Disable - Caching 1000 last seen devices
        #
        if (hash_cache == None):
            hash_cache = os.getcwd() + "/devices.cache"
        self.__cache = None
        hashcache = self.__config.get_values("hashcache")
        if hashcache == None:
            hashcache = self.__config.get_values("disablehashing ")
            if not hashcache == None:
                hashcache = hashcache[0]
                if hashcache.lower() == "no":
                    self.__cache = ObexSenderHashCache(filename=hash_cache)
        else:
            hashcache = hashcache[0]
            if hashcache.lower() == "yes":
                self.__cache = ObexSenderHashCache(filename=hash_cache)