New interfaces for cache service. These are not part of the build. r=beard, darin, gagan.

This commit is contained in:
gordon%netscape.com 2001-02-23 22:23:55 +00:00
parent 6cd18637ba
commit d13aaaff49
2 changed files with 96 additions and 0 deletions

View File

@ -0,0 +1,53 @@
/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* 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 nsICacheService.idl, released February 23, 2001.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 2001 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Gordon Sheridan, 23-February-2001
*/
#include "nsISupports.idl"
#include "nsICacheEntryDescriptor.idl"
[scriptable, uuid(b4b419ad-28b7-4d25-9988-20fa98505a19)]
interface nsICacheSession : nsISupports
{
/*
* Synchronous cache access. This returns a unique descriptor each
* time it is called, even if the same key is specified. When
* called by multiple threads for write access, only one writeable
* descriptor will be granted.
*/
nsICacheEntryDescriptor openCacheEntry(in string key,
in unsigned long accessFlagsRequested);
/*
* Asynchronous cache access. Does not block the calling thread.
*/
void asyncOpenCacheEntry(in string clientID,
in string key,
in unsigned long accessFlagsRequested,
in boolean streamBased,
in nsICacheListener listener);
};

View File

@ -0,0 +1,43 @@
/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* 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 nsICacheService.idl, released February 23, 2001.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 2001 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Gordon Sheridan, 23-February-2001
*/
#include "nsISupports.idl"
[scriptable, uuid(f8c08c4b-d778-49d1-a59b-866fdc500d95)]
interface nsICacheVisitor : nsISupports
{
/**
* return true to start visiting all entries for this device
*/
boolean visitDevice(in string deviceID, in nsISupports deviceInfo);
/* XXX we should define device info as well (stats, etc)*/
/**
* return true to visit the next entry on current device
*/
boolean visitEntry(in string deviceID,
in string clientID,
in nsISupports entryInfo);
};