12c67f1f8b869454ed24c0ac3c813aca26d2f3978Marc Blank/*
264dcd7700e134d112c3bd7460539fc1c97a13eb2Marc Blank * Copyright (C) 2008-2010 Marc Blank
32c67f1f8b869454ed24c0ac3c813aca26d2f3978Marc Blank * Licensed to The Android Open Source Project.
42c67f1f8b869454ed24c0ac3c813aca26d2f3978Marc Blank *
52c67f1f8b869454ed24c0ac3c813aca26d2f3978Marc Blank * Licensed under the Apache License, Version 2.0 (the "License");
62c67f1f8b869454ed24c0ac3c813aca26d2f3978Marc Blank * you may not use this file except in compliance with the License.
72c67f1f8b869454ed24c0ac3c813aca26d2f3978Marc Blank * You may obtain a copy of the License at
82c67f1f8b869454ed24c0ac3c813aca26d2f3978Marc Blank *
92c67f1f8b869454ed24c0ac3c813aca26d2f3978Marc Blank *      http://www.apache.org/licenses/LICENSE-2.0
102c67f1f8b869454ed24c0ac3c813aca26d2f3978Marc Blank *
112c67f1f8b869454ed24c0ac3c813aca26d2f3978Marc Blank * Unless required by applicable law or agreed to in writing, software
122c67f1f8b869454ed24c0ac3c813aca26d2f3978Marc Blank * distributed under the License is distributed on an "AS IS" BASIS,
132c67f1f8b869454ed24c0ac3c813aca26d2f3978Marc Blank * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
142c67f1f8b869454ed24c0ac3c813aca26d2f3978Marc Blank * See the License for the specific language governing permissions and
152c67f1f8b869454ed24c0ac3c813aca26d2f3978Marc Blank * limitations under the License.
162c67f1f8b869454ed24c0ac3c813aca26d2f3978Marc Blank */
172c67f1f8b869454ed24c0ac3c813aca26d2f3978Marc Blank
180d4fc55861ed4393aa82f124f2865695ef564641Marc Blankpackage com.android.emailcommon.service;
190d4fc55861ed4393aa82f124f2865695ef564641Marc Blank
2022409fcffae4c6e551fb3e6ead4cdc92e33fded1Ben Komaloimport com.android.emailcommon.provider.HostAuth;
210d4fc55861ed4393aa82f124f2865695ef564641Marc Blankimport com.android.emailcommon.service.IEmailServiceCallback;
2275a754660e33c5e18cacffff193983ba22a7b9b0Marc Blankimport com.android.emailcommon.service.SearchParams;
2317da1767e396b873723d53b2aef93da8aca2c00eMarc Blankimport android.os.Bundle;
242c67f1f8b869454ed24c0ac3c813aca26d2f3978Marc Blank
2517250429db16553b59d5df5e358f71406dd2b322Andrew Stadlerinterface IEmailService {
2622409fcffae4c6e551fb3e6ead4cdc92e33fded1Ben Komalo    Bundle validate(in HostAuth hostauth);
272c67f1f8b869454ed24c0ac3c813aca26d2f3978Marc Blank
280d4fc55861ed4393aa82f124f2865695ef564641Marc Blank    oneway void startSync(long mailboxId, boolean userRequest);
290d4fc55861ed4393aa82f124f2865695ef564641Marc Blank    oneway void stopSync(long mailboxId);
302c67f1f8b869454ed24c0ac3c813aca26d2f3978Marc Blank
310d4fc55861ed4393aa82f124f2865695ef564641Marc Blank    oneway void loadMore(long messageId);
32dc78a769fce18d259eccc602c4623fa74cdf5319Marc Blank    oneway void loadAttachment(long attachmentId, boolean background);
332c67f1f8b869454ed24c0ac3c813aca26d2f3978Marc Blank
340d4fc55861ed4393aa82f124f2865695ef564641Marc Blank    oneway void updateFolderList(long accountId);
352c67f1f8b869454ed24c0ac3c813aca26d2f3978Marc Blank
362c67f1f8b869454ed24c0ac3c813aca26d2f3978Marc Blank    boolean createFolder(long accountId, String name);
372c67f1f8b869454ed24c0ac3c813aca26d2f3978Marc Blank    boolean deleteFolder(long accountId, String name);
382c67f1f8b869454ed24c0ac3c813aca26d2f3978Marc Blank    boolean renameFolder(long accountId, String oldName, String newName);
39eda017627e7234fb8c7d0fa4cc41557bb2bf796aMarc Blank
400d4fc55861ed4393aa82f124f2865695ef564641Marc Blank    // Must not be oneway; unless an exception is thrown, the caller is guaranteed that the callback
410d4fc55861ed4393aa82f124f2865695ef564641Marc Blank    // has been registered
42c449cba5101f083d4cef8acd9972bc05598bad44Marc Blank    void setCallback(IEmailServiceCallback cb);
43c449cba5101f083d4cef8acd9972bc05598bad44Marc Blank
440d4fc55861ed4393aa82f124f2865695ef564641Marc Blank    oneway void setLogging(int on);
45832e4a02a670b565a377938b3138e73421d59388Marc Blank
460d4fc55861ed4393aa82f124f2865695ef564641Marc Blank    oneway void hostChanged(long accountId);
4717da1767e396b873723d53b2aef93da8aca2c00eMarc Blank
4817da1767e396b873723d53b2aef93da8aca2c00eMarc Blank    Bundle autoDiscover(String userName, String password);
495de54008e58ff63d388e4d448b50a47950990e22Marc Blank
500d4fc55861ed4393aa82f124f2865695ef564641Marc Blank    oneway void sendMeetingResponse(long messageId, int response);
5164dcd7700e134d112c3bd7460539fc1c97a13eb2Marc Blank
520d4fc55861ed4393aa82f124f2865695ef564641Marc Blank    // Must not be oneway; unless an exception is thrown, the caller is guaranteed that the action
530d4fc55861ed4393aa82f124f2865695ef564641Marc Blank    // has been completed
54cf3fb71bc6fd795c10dc1d7467292532c19041aeMarc Blank    void deleteAccountPIMData(long accountId);
550d4fc55861ed4393aa82f124f2865695ef564641Marc Blank
560d4fc55861ed4393aa82f124f2865695ef564641Marc Blank    int getApiLevel();
57c60b8d0529168edecf2376a6f421a0ae1e10fe29Marc Blank
58c60b8d0529168edecf2376a6f421a0ae1e10fe29Marc Blank    // API level 2
5975a754660e33c5e18cacffff193983ba22a7b9b0Marc Blank    int searchMessages(long accountId, in SearchParams params, long destMailboxId);
60f419287f22ae44f25e1ba1f757ec33c7941bbfa8Marc Blank
61f419287f22ae44f25e1ba1f757ec33c7941bbfa8Marc Blank    void sendMail(long accountId);
6222409fcffae4c6e551fb3e6ead4cdc92e33fded1Ben Komalo}
63