text: <?php
  /**
   * @package plugins.tvComDistribution
   * @subpackage lib
   */
  class TVComDistributionProvider implements IDistributionProvider
  {
  	/**
  	 * @var TVComDistributionProvider
  	 */
  	protected static $instance;
  	
  	protected function __construct()
  	{
  		
  	}
  	
  	/**
  	 * @return TVComDistributionProvider
  	 */
  	public static function get()
  	{
  		if(!self::$instance)
  			self::$instance = new TVComDistributionProvider();
  			
  		return self::$instance;
  	}
  	
  	/* (non-PHPdoc)
  	 * @see IDistributionProvider::getType()
  	 */
  	public function getType()
  	{
  		return TVComDistributionPlugin::getDistributionProviderTypeCoreValue(TVComDistributionProviderType::TVCOM);
  	}
  	
  	/**
  	 * @return string
  	 */
  	public function getName()
  	{
  		return 'TV.com';
  	}
  	
  /* (non-PHPdoc)
  	 * @see IDistributionProvider::isDeleteEnabled()
  	 */
  	public function isDeleteEnabled()
  	{
  		return true;
  	}
  
  	/* (non-PHPdoc)
  	 * @see IDistributionProvider::isUpdateEnabled()
  	 */
  	public function isUpdateEnabled()
  	{
  		return true;
  	}
  
  	/* (non-PHPdoc)
  	 * @see IDistributionProvider::isMediaUpdateEnabled()
  	 */
  	public function isMediaUpdateEnabled()
  	{
  		return true;
  	}
  
  	/* (non-PHPdoc)
  	 * @see IDistributionProvider::isReportsEnabled()
  	 */
  	public function isReportsEnabled()
  	{
  		return false;
  	}
  
  	/* (non-PHPdoc)
  	 * @see IDistributionProvider::isScheduleUpdateEnabled()
  	 */
  	public function isScheduleUpdateEnabled()
  	{
  		return true;
  	}
  	
  	/* (non-PHPdoc)
  	 * @see IDistributionProvider::isAvailabilityUpdateEnabled()
  	 */
  	public function isAvailabilityUpdateEnabled()
  	{
  		return false;
  	}
  	
  	/* (non-PHPdoc)
  	 * @see IDistributionProvider::isLocalFileRequired()
  	 */
  	public function isLocalFileRequired($jobType)
  	{
  		return false;
  	}
  
  	/* (non-PHPdoc)
  	 * @see IDistributionProvider::useDeleteInsteadOfUpdate()
  	 */
  	public function useDeleteInsteadOfUpdate()
  	{
  		return false;
  	}
  
  	/* (non-PHPdoc)
  	 * @see IDistributionProvider::getJobIntervalBeforeSunrise()
  	 */
  	public function getJobIntervalBeforeSunrise()
  	{
  		return 0;
  	}
  
  	/* (non-PHPdoc)
  	 * @see IDistributionProvider::getJobIntervalBeforeSunset()
  	 */
  	public function getJobIntervalBeforeSunset()
  	{
  		return 0;
  	}
  
  	/* (non-PHPdoc)
  	 * @see IDistributionProvider::getUpdateRequiredEntryFields()
  	 */
  	public function getUpdateRequiredEntryFields($distributionProfileId = null)
  	{
  		return array();
  	}
  
  	/* (non-PHPdoc)
  	 * @see IDistributionProvider::getUpdateRequiredMetadataXPaths()
  	 */
  	public function getUpdateRequiredMetadataXPaths($distributionProfileId = null)
  	{
  		return array();
  	}
  }