From 8ed0ce7801985d6d7e07af8eb21de480a4422f2c Mon Sep 17 00:00:00 2001 From: Thomas Mueller Date: Tue, 11 Dec 2012 17:42:09 +0100 Subject: [contacts_api] IAddressBook moved to OCP as it's used by apps to provide access to their contact data --- lib/iaddressbook.php | 72 ------------------------------------------- lib/public/contacts.php | 10 +++--- lib/public/iaddressbook.php | 74 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 79 insertions(+), 77 deletions(-) delete mode 100644 lib/iaddressbook.php create mode 100644 lib/public/iaddressbook.php (limited to 'lib') diff --git a/lib/iaddressbook.php b/lib/iaddressbook.php deleted file mode 100644 index 39205140361..00000000000 --- a/lib/iaddressbook.php +++ /dev/null @@ -1,72 +0,0 @@ -. - * - */ - -namespace OC { - interface IAddressBook { - - /** - * @return string defining the technical unique key - */ - public function getKey(); - - /** - * In comparison to getKey() this function returns a human readable (maybe translated) name - * @return mixed - */ - public function getDisplayName(); - - /** - * @param string $pattern which should match within the $searchProperties - * @param array $searchProperties defines the properties within the query pattern should match - * @param array $options - for future use. One should always have options! - * @return array of contacts which are arrays of key-value-pairs - */ - public function search($pattern, $searchProperties, $options); -// // dummy results -// return array( -// array('id' => 0, 'FN' => 'Thomas Müller', 'EMAIL' => 'a@b.c', 'GEO' => '37.386013;-122.082932'), -// array('id' => 5, 'FN' => 'Thomas Tanghus', 'EMAIL' => array('d@e.f', 'g@h.i')), -// ); - - /** - * @param array $properties this array if key-value-pairs defines a contact - * @return array representing the contact just created or updated - */ - public function createOrUpdate($properties); -// // dummy -// return array('id' => 0, 'FN' => 'Thomas Müller', 'EMAIL' => 'a@b.c', -// 'PHOTO' => 'VALUE=uri:http://www.abc.com/pub/photos/jqpublic.gif', -// 'ADR' => ';;123 Main Street;Any Town;CA;91921-1234' -// ); - - /** - * @return mixed - */ - public function getPermissions(); - - /** - * @param object $id the unique identifier to a contact - * @return bool successful or not - */ - public function delete($id); - } -} diff --git a/lib/public/contacts.php b/lib/public/contacts.php index ab46614c8fd..4cf57ed8ff2 100644 --- a/lib/public/contacts.php +++ b/lib/public/contacts.php @@ -146,16 +146,16 @@ namespace OCP { } /** - * @param \OC\IAddressBook $address_book + * @param \OCP\IAddressBook $address_book */ - public static function registerAddressBook(\OC\IAddressBook $address_book) { + public static function registerAddressBook(\OCP\IAddressBook $address_book) { self::$address_books[$address_book->getKey()] = $address_book; } /** - * @param \OC\IAddressBook $address_book + * @param \OCP\IAddressBook $address_book */ - public static function unregisterAddressBook(\OC\IAddressBook $address_book) { + public static function unregisterAddressBook(\OCP\IAddressBook $address_book) { unset(self::$address_books[$address_book->getKey()]); } @@ -179,7 +179,7 @@ namespace OCP { } /** - * @var \OC\IAddressBook[] which holds all registered address books + * @var \OCP\IAddressBook[] which holds all registered address books */ private static $address_books = array(); } diff --git a/lib/public/iaddressbook.php b/lib/public/iaddressbook.php new file mode 100644 index 00000000000..14943747f48 --- /dev/null +++ b/lib/public/iaddressbook.php @@ -0,0 +1,74 @@ +. + * + */ + +// use OCP namespace for all classes that are considered public. +// This means that they should be used by apps instead of the internal ownCloud classes +namespace OCP { + interface IAddressBook { + + /** + * @return string defining the technical unique key + */ + public function getKey(); + + /** + * In comparison to getKey() this function returns a human readable (maybe translated) name + * @return mixed + */ + public function getDisplayName(); + + /** + * @param string $pattern which should match within the $searchProperties + * @param array $searchProperties defines the properties within the query pattern should match + * @param array $options - for future use. One should always have options! + * @return array of contacts which are arrays of key-value-pairs + */ + public function search($pattern, $searchProperties, $options); +// // dummy results +// return array( +// array('id' => 0, 'FN' => 'Thomas Müller', 'EMAIL' => 'a@b.c', 'GEO' => '37.386013;-122.082932'), +// array('id' => 5, 'FN' => 'Thomas Tanghus', 'EMAIL' => array('d@e.f', 'g@h.i')), +// ); + + /** + * @param array $properties this array if key-value-pairs defines a contact + * @return array representing the contact just created or updated + */ + public function createOrUpdate($properties); +// // dummy +// return array('id' => 0, 'FN' => 'Thomas Müller', 'EMAIL' => 'a@b.c', +// 'PHOTO' => 'VALUE=uri:http://www.abc.com/pub/photos/jqpublic.gif', +// 'ADR' => ';;123 Main Street;Any Town;CA;91921-1234' +// ); + + /** + * @return mixed + */ + public function getPermissions(); + + /** + * @param object $id the unique identifier to a contact + * @return bool successful or not + */ + public function delete($id); + } +} -- cgit v1.2.3