• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
18 package com.android.im;
19 
20 import com.android.im.IConnectionListener;
21 import com.android.im.IChatSessionManager;
22 import com.android.im.IContactListManager;
23 import com.android.im.IInvitationListener;
24 import com.android.im.engine.Presence;
25 
26 interface IImConnection {
registerConnectionListener(IConnectionListener listener)27     void registerConnectionListener(IConnectionListener listener);
unregisterConnectionListener(IConnectionListener listener)28     void unregisterConnectionListener(IConnectionListener listener);
29 
setInvitationListener(IInvitationListener listener)30     void setInvitationListener(IInvitationListener listener);
31 
getContactListManager()32     IContactListManager getContactListManager();
getChatSessionManager()33     IChatSessionManager getChatSessionManager();
34 
35     /**
36      * Login the IM server.
37      *
38      * @param accountId the id of the account in content provider.
39      * @param userName the useName.
40      * @param password the password.
41      * @param autoLoadContacts if true, contacts will be loaded from the server
42      *          automatically after the user successfully login; otherwise, the
43      *          client must load contacts manually.
44      */
login(long accountId, String userName, String password, boolean autoLoadContacts)45     void login(long accountId, String userName, String password, boolean autoLoadContacts);
logout()46     void logout();
cancelLogin()47     void cancelLogin();
48 
getUserPresence()49     Presence getUserPresence();
updateUserPresence(in Presence newPresence)50     int updateUserPresence(in Presence newPresence);
51 
52     /**
53      * Gets an array of presence status which are supported by the IM provider.
54      */
getSupportedPresenceStatus()55     int[] getSupportedPresenceStatus();
56 
getState()57     int getState();
58 
59     /**
60      * Gets the count of active ChatSessions of this connection.
61      */
getChatSessionCount()62     int getChatSessionCount();
63 
getProviderId()64     long getProviderId();
getAccountId()65     long getAccountId();
66 
acceptInvitation(long id)67     void acceptInvitation(long id);
rejectInvitation(long id)68     void rejectInvitation(long id);
69 }
70