/**
  * List partners by filter with paging support
  * Current implementation will only list the sub partners of the partner initiating the api call (using the current KS).
  * This action is only partially implemented to support listing sub partners of a VAR partner.
  * @action list
  * @param KalturaPartnerFilter $filter
  * @param KalturaFilterPager $pager
  * @return KalturaPartnerListResponse
  */
 public function listAction(KalturaPartnerFilter $filter = null, KalturaFilterPager $pager = null)
 {
     if (is_null($filter)) {
         $filter = new KalturaPartnerFilter();
     }
     if (is_null($pager)) {
         $pager = new KalturaFilterPager();
     }
     $partnerFilter = new partnerFilter();
     $filter->toObject($partnerFilter);
     $c = PartnerPeer::getDefaultCriteria();
     $partnerFilter->attachToCriteria($c);
     $response = new KalturaPartnerListResponse();
     $response->totalCount = PartnerPeer::doCount($c);
     $pager->attachToCriteria($c);
     $dbPartners = PartnerPeer::doSelect($c);
     $partnersArray = KalturaPartnerArray::fromPartnerArray($dbPartners);
     $response->objects = $partnersArray;
     return $response;
 }
 /**
  * batch getExclusiveNotificationJob action allows to get a BatchJob of type NOTIFICATION 
  * 
  * @action getExclusiveNotificationJobs
  * @param KalturaExclusiveLockKey $lockKey The unique lock key from the batch-process. Is used for the locking mechanism  
  * @param int $maxExecutionTime The maximum time in seconds the job reguarly take. Is used for the locking mechanism when determining an unexpected termination of a batch-process.
  * @param int $numberOfJobs The maximum number of jobs to return. 
  * @param KalturaBatchJobFilter $filter Set of rules to fetch only rartial list of jobs  
  * @return KalturaBatchGetExclusiveNotificationJobsResponse 
  */
 function getExclusiveNotificationJobsAction(KalturaExclusiveLockKey $lockKey, $maxExecutionTime, $numberOfJobs, KalturaBatchJobFilter $filter = null)
 {
     $jobs = $this->getExclusiveJobs($lockKey, $maxExecutionTime, $numberOfJobs, $filter, BatchJobType::NOTIFICATION);
     // Because the notifications need the partner's url and policy of mulriNotifications - we'll send the partner list
     $dbPartners = array();
     foreach ($jobs as $job) {
         if (isset($dbPartners[$job->getPartnerId()])) {
             continue;
         }
         $dbPartners[$job->getPartnerId()] = PartnerPeer::retrieveByPK($job->getPartnerId());
     }
     $response = new KalturaBatchGetExclusiveNotificationJobsResponse();
     $response->notifications = KalturaBatchJobArray::fromBatchJobArray($jobs);
     $response->partners = KalturaPartnerArray::fromPartnerArray($dbPartners);
     return $response;
 }
 /**
  * @action list
  * @param KalturaPartnerFilter $filter
  * @param KalturaFilterPager $pager
  * @return KalturaPartnerListResponse
  */
 public function listAction(KalturaPartnerFilter $filter = null, KalturaFilterPager $pager = null)
 {
     if (is_null($filter)) {
         $filter = new KalturaPartnerFilter();
     }
     if (is_null($pager)) {
         $pager = new KalturaFilterPager();
     }
     $partnerFilter = new partnerFilter();
     $filter->toObject($partnerFilter);
     $partnerFilter->set('_gt_id', 0);
     $c = new Criteria();
     $partnerFilter->attachToCriteria($c);
     $totalCount = PartnerPeer::doCount($c);
     $pager->attachToCriteria($c);
     $list = PartnerPeer::doSelect($c);
     $newList = KalturaPartnerArray::fromPartnerArray($list);
     $response = new KalturaPartnerListResponse();
     $response->totalCount = $totalCount;
     $response->objects = $newList;
     return $response;
 }