Back to index

d-push  2.0
ibackend.php
Go to the documentation of this file.
00001 <?php
00002 /***********************************************
00003 * File      :   ibackend.php
00004 * Project   :   Z-Push
00005 * Descr     :   All Z-Push backends must implement this interface.
00006 *               It describes all generic methods expected to be
00007 *               implemented by a backend.
00008 *               The next abstraction layer is the default Backend
00009 *               implementation which already implements some generics.
00010 *
00011 * Created   :   02.01.2012
00012 *
00013 * Copyright 2007 - 2012 Zarafa Deutschland GmbH
00014 *
00015 * This program is free software: you can redistribute it and/or modify
00016 * it under the terms of the GNU Affero General Public License, version 3,
00017 * as published by the Free Software Foundation with the following additional
00018 * term according to sec. 7:
00019 *
00020 * According to sec. 7 of the GNU Affero General Public License, version 3,
00021 * the terms of the AGPL are supplemented with the following terms:
00022 *
00023 * "Zarafa" is a registered trademark of Zarafa B.V.
00024 * "Z-Push" is a registered trademark of Zarafa Deutschland GmbH
00025 * The licensing of the Program under the AGPL does not imply a trademark license.
00026 * Therefore any rights, title and interest in our trademarks remain entirely with us.
00027 *
00028 * However, if you propagate an unmodified version of the Program you are
00029 * allowed to use the term "Z-Push" to indicate that you distribute the Program.
00030 * Furthermore you may use our trademarks where it is necessary to indicate
00031 * the intended purpose of a product or service provided you use it in accordance
00032 * with honest practices in industrial or commercial matters.
00033 * If you want to propagate modified versions of the Program under the name "Z-Push",
00034 * you may only do so if you have a written permission by Zarafa Deutschland GmbH
00035 * (to acquire a permission please contact Zarafa at trademark@zarafa.com).
00036 *
00037 * This program is distributed in the hope that it will be useful,
00038 * but WITHOUT ANY WARRANTY; without even the implied warranty of
00039 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00040 * GNU Affero General Public License for more details.
00041 *
00042 * You should have received a copy of the GNU Affero General Public License
00043 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
00044 *
00045 * Consult LICENSE file for details
00046 ************************************************/
00047 
00048 interface IBackend {
00056     public function GetStateMachine();
00057 
00064     public function GetSearchProvider();
00065 
00074     public function GetSupportedASVersion();
00075 
00087     public function Logon($username, $domain, $password);
00088 
00108     public function Setup($store, $checkACLonly = false, $folderid = false);
00109 
00117     public function Logoff();
00118 
00128     public function GetHierarchy();
00129 
00141     public function GetImporter($folderid = false);
00142 
00154     public function GetExporter($folderid = false);
00155 
00170     public function SendMail($sm);
00171 
00183     public function Fetch($folderid, $id, $contentparameters);
00184 
00195     public function GetWasteBasket();
00196 
00209     public function GetAttachmentData($attname);
00210 
00223     public function EmptyFolder($folderid, $includeSubfolders = true);
00224 
00237     public function MeetingResponse($requestid, $folderid, $response);
00238 
00246     public function HasChangesSink();
00247 
00258     public function ChangesSinkInitialize($folderid);
00259 
00271     public function ChangesSink($timeout = 30);
00272 
00281     public function Settings($settings);
00282 }
00283 
00284 ?>