# Path: sendinel/backend/bluetooth.py
# def set_connection_to_bluetooth(server_address):
# def get_discovered_devices(server_address):
# def send_vcal(server_address, mac, data):
# 
# Path: sendinel/backend/voicecall.py
# LINUX_AVAILABLE = False
#     LINUX_AVAILABLE = True
# class Voicecall:
#     def __init__(self):
#     def create_voicefile(self, text):
#     def create_spool_content(self, number, voicefile, salutation, extension,
#                             sip_account, context):
#     def create_sms_spool_content(self, text, number):
#     def create_spool_file(self, filename, content):
#     def move_spool_file(self, filename):
#     def replace_special_characters(self, text):
#     def conduct_sms(self, number, text, context):
#     def conduct_call(self, number, text, context): 
# 
# Path: sendinel/logger.py
# LOG_MSG_FORMAT = '%(asctime)s %(levelname)s %(filename)s#%(lineno)d %(message)s'
# def log_request(viewfunc):
#     def do_log_request(*args, **kwargs):


from sendinel.backend import bluetooth, voicecall
from sendinel.logger import logger
    scheduled_event = None 
    data = None
    def __str__(self):
        return unicode(self.data)
        
    def send(self):
        raise NotImplementedError("send() needs to be overridden.")

class BluetoothOutputData(OutputData):
    """
    Define necessary OutputData for sending via bluetooth.
    """
    
    bluetooth_mac_address = None
    server_address = None
    
    def send(self):
        logger.info("Sending via Bluetooth")
        return bluetooth.send_vcal(self.server_address, 
                            self.bluetooth_mac_address,
                            self.data)

class SMSOutputData(OutputData):
    """
    Define necessary OutputData for sending via sms.
    """
    
    phone_number = None
    
    def send(self):

# Path: sendinel/backend/bluetooth.py
# def set_connection_to_bluetooth(server_address):
# def get_discovered_devices(server_address):
# def send_vcal(server_address, mac, data):
# 
# Path: sendinel/backend/voicecall.py
# LINUX_AVAILABLE = False
#     LINUX_AVAILABLE = True
# class Voicecall:
#     def __init__(self):
#     def create_voicefile(self, text):
#     def create_spool_content(self, number, voicefile, salutation, extension,
#                             sip_account, context):
#     def create_sms_spool_content(self, text, number):
#     def create_spool_file(self, filename, content):
#     def move_spool_file(self, filename):
#     def replace_special_characters(self, text):
#     def conduct_sms(self, number, text, context):
#     def conduct_call(self, number, text, context): 
# 
# Path: sendinel/logger.py
# LOG_MSG_FORMAT = '%(asctime)s %(levelname)s %(filename)s#%(lineno)d %(message)s'
# def log_request(viewfunc):
#     def do_log_request(*args, **kwargs):


# Path: sendinel/backend/output.py
from sendinel.backend import bluetooth, voicecall
from sendinel.logger import logger

    scheduled_event = None 
    data = None
    def __str__(self):
        return unicode(self.data)
        
    def send(self):
        raise NotImplementedError("send() needs to be overridden.")

class BluetoothOutputData(OutputData):
    """
    Define necessary OutputData for sending via bluetooth.
    """
    
    bluetooth_mac_address = None
    server_address = None
    
    def send(self):
        logger.info("Sending via Bluetooth")
        return bluetooth.send_vcal(self.server_address, 
                            self.bluetooth_mac_address,
                            self.data)

class SMSOutputData(OutputData):
    """
    Define necessary OutputData for sending via sms.
    """
    
    phone_number = None
    
    def send(self):

        logger.info("Sending via SMS")