/*
 * BEGIN FLOCK GPL
 * 
 * Copyright Flock Inc. 2005-2006
 * http://flock.com
 * 
 * This file may be used under the terms of of the
 * GNU General Public License Version 2 or later (the "GPL"),
 * http://www.gnu.org/licenses/gpl.html
 * 
 * Software distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 * for the specific language governing rights and limitations under the
 * License.
 * 
 * END FLOCK GPL
 */

#include "nsISupports.idl"
#include "nsIArray.idl"
#include "nsIChannel.idl"
#include "nsIRDFDataSource.idl"
#include "nsIDOMDocument.idl"

#include "flockIFeedChannel.idl"
#include "flockIFeedService.idl"

[scriptable, uuid(13bef0df-89ba-4608-bfc1-c80a0a8b64a5)]
interface flockIOpmlService : nsISupports {
    void getFeedsInOpml(in AString url, out PRUint32 count,
                        [array,size_is(count),retval] out string feeds);

    void loadOpmlView(in AString url, in flockIFeedChannel channel);

    void refreshOpml(in AString url);

    boolean isOpml(in nsIDOMDocument dom);

    void subscribeOpml(in AString url, in flockIFeedRefreshListener listener);
    void subscribeDOM(in AString url, in nsIDOMDocument dom, in flockIFeedRefreshListener listener);

    // XXX hack
    string test();
};
