/*
* Copyright 2007 Jesse Andrews and Manish Singh
*
* 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.
*/
#include "nsISupports.idl"
interface nsISimpleEnumerator;
interface nsIDOMNode;
interface nsIFile;
[scriptable, uuid(46a873a2-e3b2-4438-9265-65464033d830)]
interface oyITabooInfo : nsISupports {
attribute AUTF8String title;
attribute AUTF8String url;
attribute AUTF8String favicon;
attribute AUTF8String description;
attribute AUTF8String imageURL;
attribute AUTF8String thumbURL;
attribute PRTime created;
attribute PRTime updated;
};
[scriptable, uuid(d08e3217-ea2d-4733-94ba-127ca07331b1)]
interface oyITabooObserver : nsISupports {
void onSave(in AUTF8String aURL, in boolean aIsNew);
void onDelete(in AUTF8String aURL);
void onUndelete(in AUTF8String aURL);
void onReallyDelete(in AUTF8String aURL);
};
[scriptable, uuid(2fc0961d-8408-465d-866d-ea8e1f21c17b)]
interface oyITaboo : nsISupports {
void open(in AUTF8String aURL, in AUTF8String aWhere);
void openInTab(in AUTF8String aURL, in nsIDOMNode aTab);
boolean save(in AUTF8String aDescription);
boolean saveAll();
boolean isSaved(in AUTF8String aURL);
void update(in AUTF8String aURL, in AUTF8String aTitle,
in AUTF8String aDescription);
void delete(in AUTF8String aURL);
void undelete(in AUTF8String aURL);
void reallyDelete(in AUTF8String aURL);
nsISimpleEnumerator get(in AUTF8String aFilter, in boolean aDeleted);
nsISimpleEnumerator getRecent(in long aMaxRecent);
oyITabooInfo getForURL(in AUTF8String aURL);
void addObserver(in oyITabooObserver aObserver);
void removeObserver(in oyITabooObserver aObserver);
PRUint32 import(in nsIFile aFile);
PRUint32 export(in nsIFile aFile);
};