mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-27 14:52:16 +00:00
2864f7996a
--HG-- rename : rdf/base/src/nsCompositeDataSource.cpp => rdf/base/nsCompositeDataSource.cpp rename : rdf/base/src/nsContainerEnumerator.cpp => rdf/base/nsContainerEnumerator.cpp rename : rdf/base/src/nsDefaultResourceFactory.cpp => rdf/base/nsDefaultResourceFactory.cpp rename : rdf/base/idl/nsIRDFCompositeDataSource.idl => rdf/base/nsIRDFCompositeDataSource.idl rename : rdf/base/idl/nsIRDFContainer.idl => rdf/base/nsIRDFContainer.idl rename : rdf/base/idl/nsIRDFContainerUtils.idl => rdf/base/nsIRDFContainerUtils.idl rename : rdf/base/public/nsIRDFContentSink.h => rdf/base/nsIRDFContentSink.h rename : rdf/base/idl/nsIRDFDataSource.idl => rdf/base/nsIRDFDataSource.idl rename : rdf/base/idl/nsIRDFDelegateFactory.idl => rdf/base/nsIRDFDelegateFactory.idl rename : rdf/base/idl/nsIRDFInMemoryDataSource.idl => rdf/base/nsIRDFInMemoryDataSource.idl rename : rdf/base/idl/nsIRDFInferDataSource.idl => rdf/base/nsIRDFInferDataSource.idl rename : rdf/base/idl/nsIRDFLiteral.idl => rdf/base/nsIRDFLiteral.idl rename : rdf/base/idl/nsIRDFNode.idl => rdf/base/nsIRDFNode.idl rename : rdf/base/idl/nsIRDFObserver.idl => rdf/base/nsIRDFObserver.idl rename : rdf/base/idl/nsIRDFPropagatableDataSource.idl => rdf/base/nsIRDFPropagatableDataSource.idl rename : rdf/base/idl/nsIRDFPurgeableDataSource.idl => rdf/base/nsIRDFPurgeableDataSource.idl rename : rdf/base/idl/nsIRDFRemoteDataSource.idl => rdf/base/nsIRDFRemoteDataSource.idl rename : rdf/base/idl/nsIRDFResource.idl => rdf/base/nsIRDFResource.idl rename : rdf/base/idl/nsIRDFService.idl => rdf/base/nsIRDFService.idl rename : rdf/base/idl/nsIRDFXMLParser.idl => rdf/base/nsIRDFXMLParser.idl rename : rdf/base/idl/nsIRDFXMLSerializer.idl => rdf/base/nsIRDFXMLSerializer.idl rename : rdf/base/idl/nsIRDFXMLSink.idl => rdf/base/nsIRDFXMLSink.idl rename : rdf/base/idl/nsIRDFXMLSource.idl => rdf/base/nsIRDFXMLSource.idl rename : rdf/base/src/nsInMemoryDataSource.cpp => rdf/base/nsInMemoryDataSource.cpp rename : rdf/base/src/nsNameSpaceMap.cpp => rdf/base/nsNameSpaceMap.cpp rename : rdf/base/src/nsNameSpaceMap.h => rdf/base/nsNameSpaceMap.h rename : rdf/base/src/nsRDFBaseDataSources.h => rdf/base/nsRDFBaseDataSources.h rename : rdf/base/src/nsRDFContainer.cpp => rdf/base/nsRDFContainer.cpp rename : rdf/base/src/nsRDFContainerUtils.cpp => rdf/base/nsRDFContainerUtils.cpp rename : rdf/base/src/nsRDFContentSink.cpp => rdf/base/nsRDFContentSink.cpp rename : rdf/base/src/nsRDFContentSinkAtomList.h => rdf/base/nsRDFContentSinkAtomList.h rename : rdf/base/src/nsRDFService.cpp => rdf/base/nsRDFService.cpp rename : rdf/base/src/nsRDFService.h => rdf/base/nsRDFService.h rename : rdf/base/src/nsRDFXMLDataSource.cpp => rdf/base/nsRDFXMLDataSource.cpp rename : rdf/base/src/nsRDFXMLParser.cpp => rdf/base/nsRDFXMLParser.cpp rename : rdf/base/src/nsRDFXMLParser.h => rdf/base/nsRDFXMLParser.h rename : rdf/base/src/nsRDFXMLSerializer.cpp => rdf/base/nsRDFXMLSerializer.cpp rename : rdf/base/src/nsRDFXMLSerializer.h => rdf/base/nsRDFXMLSerializer.h rename : rdf/base/public/rdf.h => rdf/base/rdf.h rename : rdf/base/idl/rdfIDataSource.idl => rdf/base/rdfIDataSource.idl rename : rdf/base/idl/rdfISerializer.idl => rdf/base/rdfISerializer.idl rename : rdf/base/idl/rdfITripleVisitor.idl => rdf/base/rdfITripleVisitor.idl rename : rdf/base/src/rdfTriplesSerializer.cpp => rdf/base/rdfTriplesSerializer.cpp rename : rdf/base/src/rdfutil.cpp => rdf/base/rdfutil.cpp rename : rdf/base/src/rdfutil.h => rdf/base/rdfutil.h rename : rdf/datasource/src/nsFileSystemDataSource.cpp => rdf/datasource/nsFileSystemDataSource.cpp rename : rdf/datasource/src/nsFileSystemDataSource.h => rdf/datasource/nsFileSystemDataSource.h rename : rdf/datasource/public/nsILocalStore.h => rdf/datasource/nsILocalStore.h rename : rdf/datasource/public/nsIRDFFTP.h => rdf/datasource/nsIRDFFTP.h rename : rdf/datasource/src/nsLocalStore.cpp => rdf/datasource/nsLocalStore.cpp rename : rdf/datasource/src/nsRDFBuiltInDataSources.h => rdf/datasource/nsRDFBuiltInDataSources.h rename : rdf/util/src/Makefile.in => rdf/util/Makefile.in rename : rdf/util/src/internal/moz.build => rdf/util/internal/moz.build rename : rdf/util/src/nsRDFResource.cpp => rdf/util/nsRDFResource.cpp rename : rdf/util/public/nsRDFResource.h => rdf/util/nsRDFResource.h rename : rdf/util/src/objs.mozbuild => rdf/util/objs.mozbuild
80 lines
2.8 KiB
C++
80 lines
2.8 KiB
C++
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#ifndef nsFileSystemDataSource_h__
|
|
#define nsFileSystemDataSource_h__
|
|
|
|
#include "nsIRDFDataSource.h"
|
|
#include "nsIRDFLiteral.h"
|
|
#include "nsIRDFResource.h"
|
|
#include "nsIRDFService.h"
|
|
#include "nsCOMPtr.h"
|
|
#include "nsString.h"
|
|
#include "mozilla/Attributes.h"
|
|
|
|
#if defined(XP_UNIX) || defined(XP_WIN)
|
|
#define USE_NC_EXTENSION
|
|
#endif
|
|
|
|
class FileSystemDataSource MOZ_FINAL : public nsIRDFDataSource
|
|
{
|
|
public:
|
|
NS_DECL_ISUPPORTS
|
|
NS_DECL_NSIRDFDATASOURCE
|
|
|
|
static nsresult Create(nsISupports* aOuter,
|
|
const nsIID& aIID, void **aResult);
|
|
|
|
nsresult Init();
|
|
|
|
private:
|
|
FileSystemDataSource() { }
|
|
~FileSystemDataSource() { }
|
|
|
|
// helper methods
|
|
bool isFileURI(nsIRDFResource* aResource);
|
|
bool isDirURI(nsIRDFResource* aSource);
|
|
nsresult GetVolumeList(nsISimpleEnumerator **aResult);
|
|
nsresult GetFolderList(nsIRDFResource *source, bool allowHidden, bool onlyFirst, nsISimpleEnumerator **aResult);
|
|
nsresult GetName(nsIRDFResource *source, nsIRDFLiteral** aResult);
|
|
nsresult GetURL(nsIRDFResource *source, bool *isFavorite, nsIRDFLiteral** aResult);
|
|
nsresult GetFileSize(nsIRDFResource *source, nsIRDFInt** aResult);
|
|
nsresult GetLastMod(nsIRDFResource *source, nsIRDFDate** aResult);
|
|
|
|
nsCOMPtr<nsIRDFService> mRDFService;
|
|
|
|
// pseudo-constants
|
|
nsCOMPtr<nsIRDFResource> mNC_FileSystemRoot;
|
|
nsCOMPtr<nsIRDFResource> mNC_Child;
|
|
nsCOMPtr<nsIRDFResource> mNC_Name;
|
|
nsCOMPtr<nsIRDFResource> mNC_URL;
|
|
nsCOMPtr<nsIRDFResource> mNC_Icon;
|
|
nsCOMPtr<nsIRDFResource> mNC_Length;
|
|
nsCOMPtr<nsIRDFResource> mNC_IsDirectory;
|
|
nsCOMPtr<nsIRDFResource> mWEB_LastMod;
|
|
nsCOMPtr<nsIRDFResource> mNC_FileSystemObject;
|
|
nsCOMPtr<nsIRDFResource> mNC_pulse;
|
|
nsCOMPtr<nsIRDFResource> mRDF_InstanceOf;
|
|
nsCOMPtr<nsIRDFResource> mRDF_type;
|
|
|
|
nsCOMPtr<nsIRDFLiteral> mLiteralTrue;
|
|
nsCOMPtr<nsIRDFLiteral> mLiteralFalse;
|
|
|
|
#ifdef USE_NC_EXTENSION
|
|
nsresult GetExtension(nsIRDFResource *source, nsIRDFLiteral** aResult);
|
|
nsCOMPtr<nsIRDFResource> mNC_extension;
|
|
#endif
|
|
|
|
#ifdef XP_WIN
|
|
bool isValidFolder(nsIRDFResource *source);
|
|
nsresult getIEFavoriteURL(nsIRDFResource *source, nsString aFileURL, nsIRDFLiteral **urlLiteral);
|
|
nsCOMPtr<nsIRDFResource> mNC_IEFavoriteObject;
|
|
nsCOMPtr<nsIRDFResource> mNC_IEFavoriteFolder;
|
|
nsCString ieFavoritesDir;
|
|
#endif
|
|
};
|
|
|
|
#endif // nsFileSystemDataSource_h__
|