IContactListManager.aidl
上传用户:szyujian
上传日期:2016-09-20
资源大小:320k
文件大小:4k
源码类别:

android开发

开发平台:

C/C++

  1. /*
  2.  * Copyright (C) 2007-2008 Esmertec AG.
  3.  * Copyright (C) 2007-2008 The Android Open Source Project
  4.  *
  5.  * Licensed under the Apache License, Version 2.0 (the "License");
  6.  * you may not use this file except in compliance with the License.
  7.  * You may obtain a copy of the License at
  8.  *
  9.  *      http://www.apache.org/licenses/LICENSE-2.0
  10.  *
  11.  * Unless required by applicable law or agreed to in writing, software
  12.  * distributed under the License is distributed on an "AS IS" BASIS,
  13.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14.  * See the License for the specific language governing permissions and
  15.  * limitations under the License.
  16.  */
  17. package com.android.im;
  18. import com.android.im.IContactList;
  19. import com.android.im.IContactListListener;
  20. import com.android.im.ISubscriptionListener;
  21. import com.android.im.engine.Contact;
  22. interface IContactListManager {
  23.     void registerContactListListener(IContactListListener listener);
  24.     void unregisterContactListListener(IContactListListener listener);
  25.     void registerSubscriptionListener(ISubscriptionListener listener);
  26.     void unregisterSubscriptionListener(ISubscriptionListener listener);
  27.     /**
  28.      * Gets all the contact lists of this account.
  29.      */
  30.     List getContactLists();
  31.     /**
  32.      * Gets a contact list with specific name, return null if no contact list is found.
  33.      */
  34.     IContactList getContactList(String name);
  35.     /**
  36.      * Creates a contact list with given name and a list of initial contacts.
  37.      *
  38.      * @param name the name of the list to create.
  39.      * @param contacts a list of contacts will be added to the new contact list, can be null.
  40.      */
  41.     int createContactList(String name, in List<Contact> contacts);
  42.     /**
  43.      * Deletes a contact list with given name.
  44.      *
  45.      * @param name the name of the list to delete.
  46.      */
  47.     int deleteContactList(String name);
  48.     /**
  49.      * Removes a contact from all contact lists. Note the temporary contacts
  50.      * can only be removed by this method.
  51.      *
  52.      * @param address the address of the contact to be removed.
  53.      */
  54.     int removeContact(String address);
  55.     /**
  56.      * Approves a subscription request from another user.
  57.      */
  58.     void approveSubscription(String address);
  59.     /**
  60.      * Declines a subscription request from another user.
  61.      */
  62.     void declineSubscription(String address);
  63.     /**
  64.      * Blocks a contact. The ContactListListener will be notified when the contact is blocked
  65.      * successfully or any error occurs.
  66.      *
  67.      * @param address the address of the contact to block.
  68.      * @return ILLEGAL_CONTACT_LIST_MANAGER_STATE if contact lists is not loaded.
  69.      */
  70.     int blockContact(String address);
  71.     /**
  72.      * Unblocks a contact.The ContactListListener will be notified when the contact is blocked
  73.      * successfully or any error occurs.
  74.      *
  75.      * @param address the address of the contact to unblock.
  76.      * @return ILLEGAL_CONTACT_LIST_MANAGER_STATE if contact lists is not loaded.
  77.      */
  78.     int unBlockContact(String address);
  79.     /**
  80.      * Tells if a certain contact is blocked.
  81.      *
  82.      * @param address the address of the contact.
  83.      * @return true if it's blocked; false otherwise.
  84.      */
  85.     boolean isBlocked(String address);
  86.     /**
  87.      * Explicitly load contact lists from the server. The user only needs to call this method if
  88.      * autoLoadContacts is false when login; otherwise, contact lists will be downloaded from the
  89.      * server automatically after login.
  90.      */
  91.     void loadContactLists();
  92.     /**
  93.      * Gets the state of the manager.
  94.      *
  95.      * @return the state of the manager.
  96.      */
  97.     int getState();
  98. }