Home | History | Annotate | Download | only in im
      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.IImConnection;
     21 import com.android.im.IConnectionCreationListener;
     22 
     23 interface IRemoteImService {
     24 
     25     /**
     26      * Gets a list of all installed plug-ins. Each item is an ImPluginInfo.
     27      */
     28     List getAllPlugins();
     29 
     30     /**
     31      * Register a listener on the service so that the client can be notified when
     32      * there is a connection be created.
     33      */
     34     void addConnectionCreatedListener(IConnectionCreationListener listener);
     35 
     36     /**
     37      * Unregister the listener on the service so that the client doesn't ware of
     38      * the connection creation anymore.
     39      */
     40     void removeConnectionCreatedListener(IConnectionCreationListener listener);
     41 
     42     /**
     43      * Create a connection for the given provider.
     44      */
     45     IImConnection createConnection(long providerId);
     46 
     47     /**
     48      * Get all the active connections.
     49      */
     50     List getActiveConnections();
     51 
     52     /**
     53      * Dismiss all notifications for an IM provider.
     54      */
     55     void dismissNotifications(long providerId);
     56 
     57     /**
     58      * Dismiss notification for the specified chat.
     59      */
     60     void dismissChatNotification(long providerId, String username);
     61 }
     62