Compare commits
1 Commits
RJCTEST_BR
...
RJCTEST_BA
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fe48ac7c97 |
@@ -727,13 +727,6 @@
|
||||
<FILEKIND>Text</FILEKIND>
|
||||
<FILEFLAGS></FILEFLAGS>
|
||||
</FILE>
|
||||
<FILE>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>nsIRemoteBookmarks.idl</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
<FILEKIND>Text</FILEKIND>
|
||||
<FILEFLAGS></FILEFLAGS>
|
||||
</FILE>
|
||||
</FILELIST>
|
||||
<LINKORDER>
|
||||
<FILEREF>
|
||||
@@ -741,11 +734,6 @@
|
||||
<PATH>nsIBookmarksService.idl</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
<FILEREF>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>nsIRemoteBookmarks.idl</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
</LINKORDER>
|
||||
</TARGET>
|
||||
<TARGET>
|
||||
@@ -1422,13 +1410,6 @@
|
||||
<FILEKIND>Text</FILEKIND>
|
||||
<FILEFLAGS></FILEFLAGS>
|
||||
</FILE>
|
||||
<FILE>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>nsIRemoteBookmarks.idl</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
<FILEKIND>Text</FILEKIND>
|
||||
<FILEFLAGS></FILEFLAGS>
|
||||
</FILE>
|
||||
</FILELIST>
|
||||
<LINKORDER>
|
||||
<FILEREF>
|
||||
@@ -1436,11 +1417,6 @@
|
||||
<PATH>nsIBookmarksService.idl</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
<FILEREF>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>nsIRemoteBookmarks.idl</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
</LINKORDER>
|
||||
</TARGET>
|
||||
</TARGETLIST>
|
||||
@@ -1457,12 +1433,6 @@
|
||||
<PATH>nsIBookmarksService.idl</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
<FILEREF>
|
||||
<TARGETNAME>headers</TARGETNAME>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>nsIRemoteBookmarks.idl</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
</GROUPLIST>
|
||||
|
||||
</PROJECT>
|
||||
|
||||
@@ -1,2 +1 @@
|
||||
nsIBookmarksService.idl
|
||||
nsIRemoteBookmarks.idl
|
||||
|
||||
@@ -29,8 +29,7 @@ include $(DEPTH)/config/autoconf.mk
|
||||
MODULE = appcomps
|
||||
XPIDL_MODULE = bookmarks
|
||||
|
||||
XPIDLSRCS = nsIBookmarksService.idl \
|
||||
nsIRemoteBookmarks.idl
|
||||
XPIDLSRCS = nsIBookmarksService.idl
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
|
||||
@@ -25,7 +25,6 @@ MODULE=bookmarks
|
||||
|
||||
XPIDLSRCS = \
|
||||
.\nsIBookmarksService.idl \
|
||||
.\nsIRemoteBookmarks.idl \
|
||||
$(NULL)
|
||||
|
||||
include <$(DEPTH)\config\rules.mak>
|
||||
|
||||
@@ -1,58 +0,0 @@
|
||||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: NPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* 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 the Initial Developer are Copyright (C) 1998
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Robert John Churchill <rjc@netscape.com>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the NPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the NPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#include "nsISupports.idl"
|
||||
|
||||
[scriptable, uuid(1049e304-8dd0-11d6-b061-90171abe867c)]
|
||||
interface nsIRemoteBookmarks : nsISupports
|
||||
{
|
||||
};
|
||||
|
||||
%{C++
|
||||
|
||||
// {1049e301-8dd0-11d6-b061-90171abe867c}
|
||||
#define NS_REMOTEBOOKMARKS_CID \
|
||||
{ 0x1049e301, 0x8dd0, 0x11d6, { 0xb0, 0x61, 0x90, 0x17, 0x1a, 0xbe, 0x86, 0x7c } }
|
||||
|
||||
#define NS_REMOTEBOOKMARKS_CONTRACTID \
|
||||
"@mozilla.org/browser/remotebookmarks;1"
|
||||
|
||||
#define NS_REMOTEBOOKMARKS_DATASOURCE_CONTRACTID \
|
||||
"@mozilla.org/rdf/datasource;1?name=remotebookmarks"
|
||||
|
||||
%}
|
||||
@@ -58,7 +58,6 @@ var RDFC = Components.classes["@mozilla.org/rdf/container-utils;1"]
|
||||
.getService(Components.interfaces.nsIRDFContainerUtils);
|
||||
|
||||
var Bookmarks = RDF.GetDataSource("rdf:bookmarks");
|
||||
var RemoteBookmarks = RDF.GetDataSource("rdf:remotebookmarks");
|
||||
|
||||
var gBookmarkURL = "";
|
||||
|
||||
@@ -76,12 +75,6 @@ function Init()
|
||||
var value = Bookmarks.GetTarget(RDF.GetResource(gBookmarkURL),
|
||||
RDF.GetResource(gProperties[i]),
|
||||
true);
|
||||
if (!value)
|
||||
{
|
||||
value = RemoteBookmarks.GetTarget(RDF.GetResource(gBookmarkURL),
|
||||
RDF.GetResource(gProperties[i]),
|
||||
true);
|
||||
}
|
||||
|
||||
if (value)
|
||||
value = value.QueryInterface(Components.interfaces.nsIRDFLiteral).Value;
|
||||
@@ -100,12 +93,6 @@ function Init()
|
||||
value = Bookmarks.GetTarget(RDF.GetResource(gBookmarkURL),
|
||||
RDF.GetResource("http://home.netscape.com/WEB-rdf#Schedule"),
|
||||
true);
|
||||
if (!value)
|
||||
{
|
||||
value = RemoteBookmarks.GetTarget(RDF.GetResource(gBookmarkURL),
|
||||
RDF.GetResource("http://home.netscape.com/WEB-rdf#Schedule"),
|
||||
true);
|
||||
}
|
||||
|
||||
if (value) {
|
||||
value = value.QueryInterface(Components.interfaces.nsIRDFLiteral).Value;
|
||||
@@ -212,25 +199,6 @@ function Init()
|
||||
|
||||
|
||||
function Commit()
|
||||
{
|
||||
// rjc: commit changes in reverse-ds order
|
||||
|
||||
var remotechanged = doCommit(RemoteBookmarks);
|
||||
|
||||
var changed = doCommit(Bookmarks);
|
||||
if (changed) {
|
||||
var remote = Bookmarks.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
|
||||
if (remote)
|
||||
remote.Flush();
|
||||
}
|
||||
|
||||
window.close();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
function doCommit(ds)
|
||||
{
|
||||
var changed = false;
|
||||
|
||||
@@ -244,16 +212,12 @@ function doCommit(ds)
|
||||
// Get the new value as a literal, using 'null' if the value is empty.
|
||||
var newvalue = field.value;
|
||||
|
||||
var oldvalue = ds.GetTarget(RDF.GetResource(gBookmarkURL),
|
||||
var oldvalue = Bookmarks.GetTarget(RDF.GetResource(gBookmarkURL),
|
||||
RDF.GetResource(gProperties[i]),
|
||||
true);
|
||||
try {
|
||||
if (oldvalue)
|
||||
oldvalue = oldvalue.QueryInterface(Components.interfaces.nsIRDFLiteral);
|
||||
}
|
||||
catch(ex) {
|
||||
oldvalue = null;
|
||||
}
|
||||
|
||||
if (oldvalue)
|
||||
oldvalue = oldvalue.QueryInterface(Components.interfaces.nsIRDFLiteral);
|
||||
|
||||
if (newvalue && gProperties[i] == (NC_NAMESPACE_URI + "ShortcutURL")) {
|
||||
// shortcuts are always lowercased internally
|
||||
@@ -269,7 +233,7 @@ function doCommit(ds)
|
||||
if (newvalue)
|
||||
newvalue = RDF.GetLiteral(newvalue);
|
||||
|
||||
if (updateAttribute(ds, gProperties[i], oldvalue, newvalue)) {
|
||||
if (updateAttribute(gProperties[i], oldvalue, newvalue)) {
|
||||
// Update gBookmarkURL if the url changed
|
||||
if (newvalue && gProperties[i] == NC_NAMESPACE_URI + "URL")
|
||||
gBookmarkURL = newvalue.Value;
|
||||
@@ -284,7 +248,7 @@ function doCommit(ds)
|
||||
var scheduleTab = document.getElementById("ScheduleTab");
|
||||
if (scheduleTab) {
|
||||
var scheduleRes = "http://home.netscape.com/WEB-rdf#Schedule";
|
||||
oldvalue = ds.GetTarget(RDF.GetResource(gBookmarkURL),
|
||||
oldvalue = Bookmarks.GetTarget(RDF.GetResource(gBookmarkURL),
|
||||
RDF.GetResource(scheduleRes), true);
|
||||
newvalue = "";
|
||||
var dayRangeNode = document.getElementById("dayRange");
|
||||
@@ -335,30 +299,39 @@ function doCommit(ds)
|
||||
if (newvalue)
|
||||
newvalue = RDF.GetLiteral(newvalue);
|
||||
|
||||
if (updateAttribute(ds, scheduleRes, oldvalue, newvalue))
|
||||
if (updateAttribute(scheduleRes, oldvalue, newvalue))
|
||||
changed = true;
|
||||
}
|
||||
return(changed);
|
||||
|
||||
if (changed) {
|
||||
var remote = Bookmarks.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
|
||||
if (remote)
|
||||
remote.Flush();
|
||||
}
|
||||
|
||||
window.close();
|
||||
return true;
|
||||
}
|
||||
|
||||
function updateAttribute(ds, prop, oldvalue, newvalue)
|
||||
function updateAttribute(prop, oldvalue, newvalue)
|
||||
{
|
||||
var changed = false;
|
||||
|
||||
if (prop && (oldvalue || newvalue) && oldvalue != newvalue) {
|
||||
|
||||
if (oldvalue && !newvalue) {
|
||||
ds.Unassert(RDF.GetResource(gBookmarkURL),
|
||||
Bookmarks.Unassert(RDF.GetResource(gBookmarkURL),
|
||||
RDF.GetResource(prop),
|
||||
oldvalue);
|
||||
}
|
||||
else if (!oldvalue && newvalue) {
|
||||
ds.Assert(RDF.GetResource(gBookmarkURL),
|
||||
Bookmarks.Assert(RDF.GetResource(gBookmarkURL),
|
||||
RDF.GetResource(prop),
|
||||
newvalue,
|
||||
true);
|
||||
}
|
||||
else /* if (oldvalue && newvalue) */ {
|
||||
ds.Change(RDF.GetResource(gBookmarkURL),
|
||||
Bookmarks.Change(RDF.GetResource(gBookmarkURL),
|
||||
RDF.GetResource(prop),
|
||||
oldvalue,
|
||||
newvalue);
|
||||
|
||||
@@ -1015,10 +1015,9 @@
|
||||
rValue = this.rdf.GetLiteral(aArgumentsArray[i].literal);
|
||||
argsArray.AppendElement(rValue);
|
||||
}
|
||||
|
||||
// rjc: Exec the command against the composite datasource
|
||||
this.db.DoCommand(sourcesArray, rCommand, argsArray);
|
||||
|
||||
|
||||
// Exec the command in the Bookmarks datasource.
|
||||
this.bookmarksDS.DoCommand(sourcesArray, rCommand, argsArray);
|
||||
]]></body>
|
||||
</method>
|
||||
|
||||
@@ -1268,7 +1267,6 @@
|
||||
ksRDFC.RemoveElementAt(i, false);
|
||||
}
|
||||
*/
|
||||
|
||||
const kPrefSvcContractID = "@mozilla.org/preferences;1";
|
||||
const kPrefSvcIID = Components.interfaces.nsIPrefService;
|
||||
var prefSvc = Components.classes[kPrefSvcContractID].getService(kPrefSvcIID);
|
||||
@@ -1304,18 +1302,8 @@
|
||||
// assume its parent is the root
|
||||
parent = ksRDF.GetResource("NC:BookmarksRoot");
|
||||
}
|
||||
|
||||
/*
|
||||
rjc says: WRONG! Use RDF datasource COMMAND APIs !!!
|
||||
|
||||
ksRDFC.Init(this.bookmarksDS, parent);
|
||||
ksRDFC.RemoveElement(resource, true);
|
||||
*/
|
||||
var args = [{ property: this.NC_NS + "parent",
|
||||
resource: parent.Value }];
|
||||
var selectedURI = this.treeBuilder.getResourceAtIndex(this.treeBoxObject.selection.currentIndex).Value;
|
||||
this.doBookmarksCommand(selectedURI, this.NC_NS_CMD + "deletebookmark", args);
|
||||
|
||||
nextIndex = j;
|
||||
}
|
||||
}
|
||||
@@ -1915,7 +1903,7 @@
|
||||
onpopupshowing="this.parentNode.createContextMenu(event);"/>
|
||||
<vbox flex="1">
|
||||
<tree anonid="bookmarks-tree" flex="1" class="plain" enableColumnDrag="true"
|
||||
datasources="rdf:bookmarks rdf:remotebookmarks rdf:internetsearch rdf:files rdf:localsearch" ref="NC:BookmarksRoot" flags="dont-build-content"
|
||||
datasources="rdf:bookmarks rdf:internetsearch rdf:files rdf:localsearch" ref="NC:BookmarksRoot" flags="dont-build-content"
|
||||
onkeypress="if (event.keyCode == 13) this.parentNode.parentNode.openItem(event, false, false);"
|
||||
ondblclick="if (this.parentNode.parentNode.validOpenClickConditions(event)) this.parentNode.parentNode.openItem(event, false, false);"
|
||||
ondraggesture="if (event.originalTarget.localName == 'treechildren') nsDragAndDrop.startDrag(event, this.parentNode.parentNode.DNDObserver);"
|
||||
@@ -2013,7 +2001,7 @@
|
||||
<menupopup id="bmContext"
|
||||
onpopupshowing="this.parentNode.createContextMenu(event);"/>
|
||||
<tree anonid="bookmarks-tree" flex="1" hidecolumnpicker="true" class="plain"
|
||||
datasources="rdf:bookmarks rdf:remotebookmarks rdf:internetsearch rdf:files rdf:localsearch" ref="NC:BookmarksRoot" flags="dont-build-content"
|
||||
datasources="rdf:bookmarks rdf:internetsearch rdf:files rdf:localsearch" ref="NC:BookmarksRoot" flags="dont-build-content"
|
||||
onkeypress="if (event.keyCode == 13) this.parentNode.openItem(event, false, true);"
|
||||
ondraggesture="if (event.originalTarget.localName == 'treechildren') nsDragAndDrop.startDrag(event, this.parentNode.DNDObserver);"
|
||||
onclick="if (this.parentNode.validOpenClickConditions(event)) this.parentNode.openItem(event, false, true);"
|
||||
@@ -2099,7 +2087,7 @@
|
||||
<binding id="bookmarks-tree-folders" extends="chrome://communicator/content/bookmarks/bookmarks.xml#bookmarks-tree">
|
||||
<xbl:content xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:xbl="http://www.mozilla.org/xbl">
|
||||
<tree anonid="bookmarks-tree" flex="1" hidecolumnpicker="true"
|
||||
datasources="rdf:bookmarks rdf:remotebookmarks rdf:internetsearch rdf:files rdf:localsearch" ref="NC:BookmarksRoot" flags="dont-build-content"
|
||||
datasources="rdf:bookmarks rdf:internetsearch rdf:files rdf:localsearch" ref="NC:BookmarksRoot" flags="dont-build-content"
|
||||
onselect="this.parentNode.treeBoxObject.view.selectionChanged();">
|
||||
<template>
|
||||
<rule iscontainer="true">
|
||||
|
||||
@@ -42,11 +42,9 @@ REQUIRES = xpcom \
|
||||
webshell \
|
||||
windowwatcher \
|
||||
unicharutil \
|
||||
mozldap \
|
||||
$(NULL)
|
||||
|
||||
CPPSRCS = nsBookmarksService.cpp \
|
||||
nsRemoteBookmarks.cpp
|
||||
CPPSRCS = nsBookmarksService.cpp
|
||||
|
||||
# we don't want the shared lib, but we want to force the creation of a
|
||||
# static lib.
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
test
|
||||
@@ -35,12 +35,10 @@ REQUIRES = xpcom \
|
||||
webshell \
|
||||
windowwatcher \
|
||||
unicharutil \
|
||||
mozldap \
|
||||
$(NULL)
|
||||
|
||||
CPP_OBJS= \
|
||||
.\$(OBJDIR)\nsBookmarksService.obj \
|
||||
.\$(OBJDIR)\nsRemoteBookmarks.obj \
|
||||
$(NULL)
|
||||
|
||||
LIBRARY_NAME=bookmarks_s
|
||||
|
||||
@@ -3078,18 +3078,10 @@ nsBookmarksService::GetSynthesizedType(nsIRDFResource *aNode, nsIRDFNode **aType
|
||||
// (which is either a bookmark or a bookmark folder, since everything
|
||||
// else is annotated)
|
||||
PRBool isContainer = PR_FALSE;
|
||||
PRBool isBookmarkedFlag = PR_FALSE;
|
||||
(void)gRDFC->IsSeq(mInner, aNode, &isContainer);
|
||||
if (isContainer == PR_TRUE)
|
||||
{
|
||||
*aType = kNC_Folder;
|
||||
}
|
||||
else if (NS_SUCCEEDED(rv = IsBookmarkedInternal(aNode, &isBookmarkedFlag))
|
||||
&& (isBookmarkedFlag == PR_TRUE))
|
||||
{
|
||||
*aType = kNC_Bookmark;
|
||||
}
|
||||
NS_IF_ADDREF(*aType);
|
||||
|
||||
*aType = isContainer ? kNC_Folder : kNC_Bookmark;
|
||||
NS_ADDREF(*aType);
|
||||
}
|
||||
return(NS_OK);
|
||||
}
|
||||
@@ -4261,6 +4253,13 @@ nsBookmarksService::deleteBookmarkItem(nsIRDFResource *src, nsISupportsArray *aA
|
||||
nsCOMPtr<nsIRDFResource> argParent = do_QueryInterface(aNode);
|
||||
if (!argParent) return(NS_ERROR_NO_INTERFACE);
|
||||
|
||||
// make sure its an object of the correct type (bookmark, folder, separator, ...)
|
||||
PRBool isCorrectObjectType = PR_FALSE;
|
||||
if (NS_FAILED(rv = mInner->HasAssertion(src, kRDF_type,
|
||||
objType, PR_TRUE, &isCorrectObjectType)))
|
||||
return(rv);
|
||||
if (!isCorrectObjectType) return(NS_ERROR_UNEXPECTED);
|
||||
|
||||
nsCOMPtr<nsIRDFContainer> container;
|
||||
if (NS_FAILED(rv = nsComponentManager::CreateInstance(kRDFContainerCID, nsnull,
|
||||
NS_GET_IID(nsIRDFContainer), getter_AddRefs(container))))
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,175 +0,0 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: NPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* 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 the Initial Developer are Copyright (C) 1998
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Robert John Churchill <rjc@netscape.com>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the NPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the NPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
/*
|
||||
The remote bookmarks service.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#ifndef remotebookmarks___h___
|
||||
#define remotebookmarks___h___
|
||||
|
||||
#include "nsIRemoteBookmarks.h"
|
||||
#include "nsString.h"
|
||||
#include "nsIRDFResource.h"
|
||||
#include "nsIRDFLiteral.h"
|
||||
#include "nsIRDFContainer.h"
|
||||
#include "nsIRDFDataSource.h"
|
||||
#include "nsIRDFRemoteDataSource.h"
|
||||
#include "nsIRDFObserver.h"
|
||||
#include "nsIRDFNode.h"
|
||||
#include "nsISupportsArray.h"
|
||||
#include "nsILDAPURL.h"
|
||||
#include "nsILDAPConnection.h"
|
||||
#include "nsILDAPOperation.h"
|
||||
#include "nsILDAPMessageListener.h"
|
||||
#include "nsIWindowWatcher.h"
|
||||
#include "nsITimer.h"
|
||||
#include "nsITimerCallback.h"
|
||||
|
||||
|
||||
|
||||
class nsRemoteBookmarks : public nsIRemoteBookmarks,
|
||||
public nsIRDFDataSource,
|
||||
public nsIRDFObserver,
|
||||
public nsILDAPMessageListener,
|
||||
public nsITimerCallback
|
||||
// public nsIRDFRemoteDataSource,
|
||||
// public nsIStreamListener,
|
||||
// public nsIObserver,
|
||||
// public nsSupportsWeakReference
|
||||
{
|
||||
protected:
|
||||
nsIRDFDataSource *mInner;
|
||||
nsCOMPtr<nsISupportsArray> mObservers;
|
||||
PRInt32 mUpdateBatchNest;
|
||||
|
||||
nsCOMPtr<nsIWindowWatcher> mWindowWatcher;
|
||||
|
||||
static nsIRDFResource *kRDF_type;
|
||||
static nsIRDFResource *kNC_Bookmark;
|
||||
static nsIRDFResource *kNC_BookmarkSeparator;
|
||||
static nsIRDFResource *kNC_Folder;
|
||||
static nsIRDFResource *kNC_FolderGroup;
|
||||
static nsIRDFResource *kNC_Parent;
|
||||
static nsIRDFResource *kNC_Child;
|
||||
static nsIRDFResource *kNC_URL;
|
||||
static nsIRDFResource *kNC_Name;
|
||||
static nsIRDFResource *kNC_ShortcutURL;
|
||||
static nsIRDFResource *kNC_Description;
|
||||
static nsIRDFResource *kWEB_LastCharset;
|
||||
static nsIRDFResource *kNC_Icon;
|
||||
static nsIRDFResource *kNC_BookmarkAddDate;
|
||||
static nsIRDFResource *kWEB_LastModifiedDate;
|
||||
static nsIRDFResource *kWEB_LastVisitDate;
|
||||
static nsIRDFLiteral *kTrueLiteral;
|
||||
|
||||
static nsIRDFResource *kNC_BookmarkCommand_NewBookmark;
|
||||
static nsIRDFResource *kNC_BookmarkCommand_NewFolder;
|
||||
static nsIRDFResource *kNC_BookmarkCommand_NewSeparator;
|
||||
static nsIRDFResource *kNC_BookmarkCommand_DeleteBookmark;
|
||||
static nsIRDFResource *kNC_BookmarkCommand_DeleteBookmarkFolder;
|
||||
static nsIRDFResource *kNC_BookmarkCommand_DeleteBookmarkSeparator;
|
||||
|
||||
|
||||
// XXX XXX XXX hack TO DO for now testing only!
|
||||
nsCOMPtr<nsILDAPConnection> mConnection;
|
||||
nsCOMPtr<nsILDAPOperation> mLDAPOperation;
|
||||
nsCOMPtr<nsILDAPURL> mLDAPURL;
|
||||
nsCOMPtr<nsIRDFContainer> mContainer;
|
||||
nsCOMPtr<nsIRDFResource> mNode;
|
||||
nsCOMPtr<nsIRDFResource> mProperty;
|
||||
nsCOMPtr<nsIRDFNode> mOldTarget;
|
||||
nsCOMPtr<nsIRDFNode> mNewTarget;
|
||||
nsCOMPtr<nsIRDFLiteral> mURLLiteral;
|
||||
nsCOMPtr<nsIRDFLiteral> mNameLiteral;
|
||||
nsCOMPtr<nsIRDFLiteral> mShortcutLiteral;
|
||||
nsCOMPtr<nsIRDFLiteral> mDescLiteral;
|
||||
|
||||
nsCOMPtr<nsITimer> mTimer;
|
||||
nsString mPassword;
|
||||
PRUint32 mOpcode;
|
||||
|
||||
|
||||
PRBool isRemoteBookmarkURI(nsIRDFResource *r);
|
||||
nsresult showLDAPError(nsILDAPMessage *aMessage);
|
||||
nsresult doLDAPRebind();
|
||||
nsresult doLDAPQuery(nsILDAPConnection *ldapConnection, nsIRDFResource *aParent, nsIRDFResource *aNode, nsString bindDN, nsString password, PRUint32 ldapOpcode);
|
||||
nsresult doAuthentication(nsIRDFResource *aNode, nsString &bindDN, nsString &password);
|
||||
PRBool GetLDAPMsgAttrValue(nsILDAPMessage *aMessage, const char *aAttrib, nsString &aValue);
|
||||
nsresult GetLDAPExtension(nsIRDFResource *aNode, const char *name, nsCString &value, PRBool *important);
|
||||
nsresult insertLDAPBookmarkItem(nsIRDFResource *aRelativeNode, nsISupportsArray *aArguments, nsIRDFResource *aItemType);
|
||||
nsresult deleteLDAPBookmarkItem(nsIRDFResource *aNode, nsISupportsArray *aArguments, PRInt32 parentArgIndex, nsIRDFResource *aItemType);
|
||||
nsresult updateLDAPBookmarkItem(nsIRDFResource *aSource, nsIRDFResource *aProperty, nsIRDFNode *aOldTarget, nsIRDFNode *aNewTarget);
|
||||
nsresult getArgumentN(nsISupportsArray *arguments, nsIRDFResource *res, PRInt32 offset, nsIRDFNode **argValue);
|
||||
PRBool isMutableProperty(nsIRDFResource *aProperty);
|
||||
const char *getPropertySchemaName(nsIRDFResource *aProperty);
|
||||
PRBool isRemoteContainer(nsIRDFResource *aNode);
|
||||
|
||||
enum { LDAP_READY=0, LDAP_SEARCH, LDAP_ADD, LDAP_DELETE, LDAP_MODIFY };
|
||||
|
||||
public:
|
||||
nsRemoteBookmarks();
|
||||
virtual ~nsRemoteBookmarks();
|
||||
nsresult Init();
|
||||
|
||||
// nsISupports
|
||||
NS_DECL_ISUPPORTS
|
||||
|
||||
// nsIRemoteBookmarks
|
||||
NS_DECL_NSIREMOTEBOOKMARKS
|
||||
|
||||
// nsIRDFDataSource
|
||||
NS_DECL_NSIRDFDATASOURCE
|
||||
|
||||
// nsIRDFObserver
|
||||
NS_DECL_NSIRDFOBSERVER
|
||||
|
||||
// nsIRDFRemoteDataSource
|
||||
// NS_DECL_NSIRDFREMOTEDATASOURCE
|
||||
|
||||
// nsILDAPMessageListener
|
||||
NS_DECL_NSILDAPMESSAGELISTENER
|
||||
|
||||
// nsITimerCallback
|
||||
NS_IMETHOD_(void) Notify(nsITimer *timer);
|
||||
};
|
||||
|
||||
|
||||
#endif // remotebookmarks___h___
|
||||
@@ -54,7 +54,6 @@ REQUIRES = xpcom \
|
||||
webshell \
|
||||
appshell \
|
||||
history \
|
||||
windowwatcher \
|
||||
$(NULL)
|
||||
|
||||
CPPSRCS = nsModule.cpp
|
||||
|
||||
@@ -52,7 +52,6 @@ REQUIRES = xpcom \
|
||||
mozldap \
|
||||
webbrowserpersist \
|
||||
appshell \
|
||||
windowwatcher \
|
||||
$(NULL)
|
||||
|
||||
LCFLAGS = -DWIN32_LEAN_AND_MEAN
|
||||
|
||||
@@ -38,7 +38,6 @@
|
||||
#include "nsICategoryManager.h"
|
||||
#include "nsAutoComplete.h"
|
||||
#include "nsBookmarksService.h"
|
||||
#include "nsRemoteBookmarks.h"
|
||||
#include "nsDirectoryViewer.h"
|
||||
#include "nsDownloadManager.h"
|
||||
#include "nsDownloadProxy.h"
|
||||
@@ -66,7 +65,6 @@
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsAutoCompleteItem)
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsAutoCompleteResults)
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsBookmarksService, Init)
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsRemoteBookmarks, Init)
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsHTTPIndex, Init)
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsDirectoryViewerFactory)
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsDownloadManager, Init)
|
||||
@@ -147,10 +145,6 @@ static const nsModuleComponentInfo components[] = {
|
||||
nsBookmarksServiceConstructor },
|
||||
{ "Bookmarks", NS_BOOKMARKS_SERVICE_CID, NS_BOOKMARKS_DATASOURCE_CONTRACTID,
|
||||
nsBookmarksServiceConstructor },
|
||||
{ "RemoteBookmarks", NS_REMOTEBOOKMARKS_CID, NS_REMOTEBOOKMARKS_CONTRACTID,
|
||||
nsRemoteBookmarksConstructor },
|
||||
{ "RemoteBookmarks", NS_REMOTEBOOKMARKS_CID, NS_REMOTEBOOKMARKS_DATASOURCE_CONTRACTID,
|
||||
nsRemoteBookmarksConstructor },
|
||||
{ "Directory Viewer", NS_DIRECTORYVIEWERFACTORY_CID,
|
||||
NS_DOCUMENT_LOADER_FACTORY_CONTRACTID_PREFIX "view;1?type=application/http-index-format",
|
||||
nsDirectoryViewerFactoryConstructor, RegisterProc, UnregisterProc },
|
||||
|
||||
@@ -963,13 +963,6 @@
|
||||
<FILEKIND>Text</FILEKIND>
|
||||
<FILEFLAGS>Debug</FILEFLAGS>
|
||||
</FILE>
|
||||
<FILE>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>nsRemoteBookmarks.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
<FILEKIND>Text</FILEKIND>
|
||||
<FILEFLAGS>Debug</FILEFLAGS>
|
||||
</FILE>
|
||||
<FILE>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>nsDirectoryViewer.cpp</PATH>
|
||||
@@ -1117,11 +1110,6 @@
|
||||
<PATH>nsBookmarksService.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
<FILEREF>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>nsRemoteBookmarks.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
<FILEREF>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>nsDirectoryViewer.cpp</PATH>
|
||||
@@ -2109,13 +2097,6 @@
|
||||
<FILEKIND>Text</FILEKIND>
|
||||
<FILEFLAGS></FILEFLAGS>
|
||||
</FILE>
|
||||
<FILE>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>nsRemoteBookmarks.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
<FILEKIND>Text</FILEKIND>
|
||||
<FILEFLAGS></FILEFLAGS>
|
||||
</FILE>
|
||||
<FILE>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>nsDirectoryViewer.cpp</PATH>
|
||||
@@ -2263,11 +2244,6 @@
|
||||
<PATH>nsBookmarksService.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
<FILEREF>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>nsRemoteBookmarks.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
<FILEREF>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>nsDirectoryViewer.cpp</PATH>
|
||||
@@ -2372,12 +2348,6 @@
|
||||
<PATH>nsBookmarksService.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
<FILEREF>
|
||||
<TARGETNAME>AppCompsDebug.shlb</TARGETNAME>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
<PATH>nsRemoteBookmarks.cpp</PATH>
|
||||
<PATHFORMAT>MacOS</PATHFORMAT>
|
||||
</FILEREF>
|
||||
<FILEREF>
|
||||
<TARGETNAME>AppCompsDebug.shlb</TARGETNAME>
|
||||
<PATHTYPE>Name</PATHTYPE>
|
||||
|
||||
Reference in New Issue
Block a user