# Path: src/alexapi/device_platforms/baseplatform.py
# class BasePlatform:
# 	__metaclass__ = ABCMeta
# 
# 	_trigger_callback = None
# 
# 	def __init__(self, config, platform_name):
# 		self._config = config
# 
# 		self._pconfig = {}
# 		if config['platforms']['common']:
# 			self._pconfig = config['platforms']['common']
# 
# 		if config['platforms'][platform_name]:
# 			self._pconfig.update(config['platforms'][platform_name])
# 
# 	@abstractmethod
# 	def setup(self):
# 		pass
# 
# 	@abstractmethod
# 	def after_setup(self, trigger_callback=None):
# 		pass
# 
# 	@abstractmethod
# 	def indicate_failure(self):
# 		pass
# 
# 	@abstractmethod
# 	def indicate_success(self):
# 		pass
# 
# 	@abstractmethod
# 	def indicate_recording(self, state=True):
# 		pass
# 
# 	@abstractmethod
# 	def indicate_playback(self, state=True):
# 		pass
# 
# 	@abstractmethod
# 	def indicate_processing(self, state=True):
# 		pass
# 
# 	@abstractmethod
# 	def force_recording(self):
# 		pass
# 
# 	@abstractmethod
# 	def cleanup(self):
# 		pass


import logging
from .baseplatform import BasePlatform
logger = logging.getLogger(__name__)


class DummyPlatform(BasePlatform):

	def __init__(self, config):
		super(DummyPlatform, self).__init__(config, 'dummy')

	def setup(self):
		logger.debug("setup")

	def indicate_failure(self):
		logger.debug("setup_failure")

	def indicate_success(self):
		logger.debug("setup_complete")

	def indicate_recording(self, state=True):
		logger.debug("indicate_recording_on %s", state)

	def indicate_playback(self, state=True):
		logger.debug("indicate_playback %s", state)

	def indicate_processing(self, state=True):
		logger.debug("indicate_processing %s", state)

	def after_setup(self, trigger_callback=None): # pylint: disable=unused-argument
		logger.debug("after_setup")

	def force_recording(self):

# Path: src/alexapi/device_platforms/baseplatform.py
# class BasePlatform:
# 	__metaclass__ = ABCMeta
# 
# 	_trigger_callback = None
# 
# 	def __init__(self, config, platform_name):
# 		self._config = config
# 
# 		self._pconfig = {}
# 		if config['platforms']['common']:
# 			self._pconfig = config['platforms']['common']
# 
# 		if config['platforms'][platform_name]:
# 			self._pconfig.update(config['platforms'][platform_name])
# 
# 	@abstractmethod
# 	def setup(self):
# 		pass
# 
# 	@abstractmethod
# 	def after_setup(self, trigger_callback=None):
# 		pass
# 
# 	@abstractmethod
# 	def indicate_failure(self):
# 		pass
# 
# 	@abstractmethod
# 	def indicate_success(self):
# 		pass
# 
# 	@abstractmethod
# 	def indicate_recording(self, state=True):
# 		pass
# 
# 	@abstractmethod
# 	def indicate_playback(self, state=True):
# 		pass
# 
# 	@abstractmethod
# 	def indicate_processing(self, state=True):
# 		pass
# 
# 	@abstractmethod
# 	def force_recording(self):
# 		pass
# 
# 	@abstractmethod
# 	def cleanup(self):
# 		pass


# Path: src/alexapi/device_platforms/dummyplatform.py
import logging
from .baseplatform import BasePlatform

logger = logging.getLogger(__name__)


class DummyPlatform(BasePlatform):

	def __init__(self, config):
		super(DummyPlatform, self).__init__(config, 'dummy')

	def setup(self):
		logger.debug("setup")

	def indicate_failure(self):
		logger.debug("setup_failure")

	def indicate_success(self):
		logger.debug("setup_complete")

	def indicate_recording(self, state=True):
		logger.debug("indicate_recording_on %s", state)

	def indicate_playback(self, state=True):
		logger.debug("indicate_playback %s", state)

	def indicate_processing(self, state=True):
		logger.debug("indicate_processing %s", state)

	def after_setup(self, trigger_callback=None): # pylint: disable=unused-argument
		logger.debug("after_setup")

	def force_recording(self):

		return False