Ejemplo n.º 1
0
 /**
  * Indicates if the backend has a ChangesSink.
  * A sink is an active notification mechanism which does not need polling.
  * Since Zarafa 7.0.5 such a sink is available.
  * The Zarafa backend uses this method to initialize the sink with mapi.
  *
  * @access public
  * @return boolean
  */
 public function HasChangesSink()
 {
     if (!$this->notifications) {
         ZLog::Write(LOGLEVEL_DEBUG, "ZarafaBackend->HasChangesSink(): sink is not available");
         return false;
     }
     $this->changesSink = @mapi_sink_create();
     if (!$this->changesSink || mapi_last_hresult()) {
         ZLog::Write(LOGLEVEL_WARN, sprintf("ZarafaBackend->HasChangesSink(): sink could not be created with  0x%X", mapi_last_hresult()));
         return false;
     }
     ZLog::Write(LOGLEVEL_DEBUG, "ZarafaBackend->HasChangesSink(): created");
     // advise the main store and also to check if the connection supports it
     return $this->adviseStoreToSink($this->defaultstore);
 }
Ejemplo n.º 2
0
 /**
  * Indicates if the backend has a ChangesSink.
  * A sink is an active notification mechanism which does not need polling.
  * Since Zarafa 7.0.5 such a sink is available.
  * The Zarafa backend uses this method to initialize the sink with mapi.
  *
  * @access public
  * @return boolean
  */
 public function HasChangesSink()
 {
     if (!$this->notifications) {
         ZLog::Write(LOGLEVEL_DEBUG, "ZarafaBackend->HasChangesSink(): sink is not available");
         return false;
     }
     $this->changesSink = @mapi_sink_create();
     if (!$this->changesSink) {
         ZLog::Write(LOGLEVEL_DEBUG, "ZarafaBackend->HasChangesSink(): sink could not be created");
         return false;
     }
     ZLog::Write(LOGLEVEL_DEBUG, "ZarafaBackend->HasChangesSink(): created");
     return true;
 }