diff --git a/xpfe/components/history/public/MANIFEST_IDL b/xpfe/components/history/public/MANIFEST_IDL index 62ca58117f6c..ce2bd92379d8 100644 --- a/xpfe/components/history/public/MANIFEST_IDL +++ b/xpfe/components/history/public/MANIFEST_IDL @@ -1 +1,5 @@ nsIGlobalHistory.idl +nsISHEntry.idl +nsISHContainer.idl +nsISHTransaction.idl + diff --git a/xpfe/components/history/public/Makefile.in b/xpfe/components/history/public/Makefile.in index af3be06354f0..0d26edeffd4a 100644 --- a/xpfe/components/history/public/Makefile.in +++ b/xpfe/components/history/public/Makefile.in @@ -28,7 +28,11 @@ include $(DEPTH)/config/autoconf.mk MODULE = history -XPIDLSRCS = nsIGlobalHistory.idl +XPIDLSRCS = nsIGlobalHistory.idl \ + nsISHEntry.idl \ + nsISHContainer.idl \ + nsISHTransaction.idl \ + $(NULL) include $(topsrcdir)/config/rules.mk diff --git a/xpfe/components/history/public/makefile.win b/xpfe/components/history/public/makefile.win index f5a850964b40..27198b2fbe80 100644 --- a/xpfe/components/history/public/makefile.win +++ b/xpfe/components/history/public/makefile.win @@ -25,6 +25,9 @@ MODULE=history XPIDLSRCS = \ .\nsIGlobalHistory.idl \ + .\nsISHEntry.idl \ + .\nsISHContainer.idl \ + .\nsISHTransaction.idl \ $(NULL) include <$(DEPTH)\config\rules.mak> diff --git a/xpfe/components/history/public/nsISHContainer.idl b/xpfe/components/history/public/nsISHContainer.idl new file mode 100644 index 000000000000..c63a6b900dde --- /dev/null +++ b/xpfe/components/history/public/nsISHContainer.idl @@ -0,0 +1,59 @@ +/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * The contents of this file are subject to the Mozilla Public + * License Version 1.1 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.mozilla.org/MPL/ + * + * 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. + * + * The Original Code is the Mozilla browser. + * + * The Initial Developer of the Original Code is Netscape + * Communications, Inc. Portions created by Netscape are + * Copyright (C) 1999, Mozilla. All Rights Reserved. + * + * Contributor(s): + * Radha Kulkarni + */ + +#include "nsISupports.idl" +#include "nsIEnumerator.idl" +#include "nsISHEntry.idl" + + +/** + * The nsISHEntryContainer. The interface to access child entries + * of an nsISHEntry. + * + */ + +[scriptable, uuid(65281BA2-988A-11d3-BDC7-0050040A9B44)] +interface nsISHContainer : nsISupports +{ + /** + * The current number of nsISHEntries which are immediate children of the + * current SHEntry + */ + readonly attribute long childCount; + + /** + * Add a new child SHEntry. Adds to the end of the list. + */ + void AddChild(in nsISHEntry child); + + /** + * Removes a child SHEntry + */ + void RemoveChild(in nsISHEntry child); + + /** + * Enumerator to walk child list. + */ + readonly attribute nsIEnumerator childEnumerator; + +}; + diff --git a/xpfe/components/history/public/nsISHEntry.idl b/xpfe/components/history/public/nsISHEntry.idl new file mode 100644 index 000000000000..1df7c9fcd6e1 --- /dev/null +++ b/xpfe/components/history/public/nsISHEntry.idl @@ -0,0 +1,62 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * + * The contents of this file are subject to the Netscape Public + * License Version 1.1 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.mozilla.org/NPL/ + * + * 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. + * + * The Original Code is mozilla.org code. + * + * The Initial Developer of the Original Code is Netscape + * Communications Corporation. Portions created by Netscape are + * Copyright (C) 1998 Netscape Communications Corporation. All + * Rights Reserved. + * + * Contributor(s): + * Radha Kulkarni + */ + +/** + * The interface to nsISHentry. Each document or subframe in + * Session History will have a nsISHEntry associated with it which will + * hold all information required to recreate the document from history + * + */ +#include "nsISupports.idl" +#include "nsIURI.idl" +#include "domstubs.idl" +#include "nsIInputStream.idl" + +[scriptable, uuid(65281BA1-988A-11d3-BDC7-0050040A9B44)] +interface nsISHEntry : nsISupports +{ + +/** URI for the document */ +attribute nsIURI uri; + +/** DOM Document */ +attribute nsIDOMDocument document; + +/** Title for the document */ +attribute wstring title; + +/** Post Data for the document */ +attribute nsIInputStream postData; + +/** LayoutHistoryState for scroll position and form values */ +attribute nsISupports layoutHistoryState; + +/** Parent of the current entry */ +attribute nsISHEntry parent; + +/** Additional ways to create an entry */ +void create(in nsIURI aURI, in wstring aTitle, in nsIDOMDocument aDocument, + in nsIInputStream aInputStream, in nsISupports aHistoryLayoutState); + +}; + diff --git a/xpfe/components/history/public/nsISHTransaction.idl b/xpfe/components/history/public/nsISHTransaction.idl new file mode 100644 index 000000000000..c027b9ab135a --- /dev/null +++ b/xpfe/components/history/public/nsISHTransaction.idl @@ -0,0 +1,61 @@ +/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * The contents of this file are subject to the Mozilla Public + * License Version 1.1 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.mozilla.org/MPL/ + * + * 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. + * + * The Original Code is the Mozilla browser. + * + * The Initial Developer of the Original Code is Netscape + * Communications, Inc. Portions created by Netscape are + * Copyright (C) 1999, Mozilla. All Rights Reserved. + * + * Contributor(s): + * Radha Kulkarni + */ + +#include "nsISupports.idl" +#include "nsISHEntry.idl" +#include "nsIEnumerator.idl" + + +/** + * The nsISHTransaction. + */ + + +[scriptable, uuid(2F0C3A72-988B-11d3-BDC7-0050040A9B44)] +interface nsISHTransaction : nsISupports +{ + /** + * The nsISHEntry for the current transaction + */ + readonly attribute nsISHEntry currentSHistoryEntry; + + /** + * The parent of this transaction + */ + readonly attribute nsISHTransaction parent; + + /** + * The legitimate child of this transaction + */ + readonly attribute nsISHTransaction child; + + /** + * The *other* children of this transaction. + */ + readonly attribute nsISHTransaction lrvList; + + /** + * Create a transaction with parent and History Entry + */ + void create(in nsISHEntry aSHEntry, in nsISHTransaction aParent); +}; +