зеркало из https://github.com/mozilla/gecko-dev.git
78 строки
2.3 KiB
Plaintext
78 строки
2.3 KiB
Plaintext
/* -*- 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/. */
|
|
|
|
#include "nsISupports.idl"
|
|
#include "nsrootidl.idl"
|
|
|
|
/**
|
|
* nsINamedPipeDataObserver
|
|
*
|
|
* This is the callback interface for nsINamedPipeService.
|
|
* The functions are called by the internal thread in the nsINamedPipeService.
|
|
*/
|
|
[scriptable, uuid(de4f460b-94fd-442c-9002-1637beb2185a)]
|
|
interface nsINamedPipeDataObserver : nsISupports
|
|
{
|
|
/**
|
|
* onDataAvailable
|
|
*
|
|
* @param aBytesTransferred
|
|
* Transfered bytes during last transmission.
|
|
* @param aOverlapped
|
|
* Corresponding overlapped structure used by the async I/O
|
|
*/
|
|
void onDataAvailable(in unsigned long aBytesTransferred,
|
|
in voidPtr aOverlapped);
|
|
|
|
/**
|
|
* onError
|
|
*
|
|
* @param aError
|
|
* Error code of the error.
|
|
* @param aOverlapped
|
|
* Corresponding overlapped structure used by the async I/O
|
|
*/
|
|
void onError(in unsigned long aError,
|
|
in voidPtr aOverlapped);
|
|
};
|
|
|
|
/**
|
|
* nsINamedPipeService
|
|
*/
|
|
[scriptable, uuid(1bf19133-5625-4ac8-836a-80b1c215f72b)]
|
|
interface nsINamedPipeService : nsISupports
|
|
{
|
|
/**
|
|
* addDataObserver
|
|
*
|
|
* @param aHandle
|
|
* The handle that is going to be monitored for read/write operations.
|
|
* Only handles that are opened with overlapped IO are supported.
|
|
* @param aObserver
|
|
* The observer of the handle, the service strong-refs of the observer.
|
|
*/
|
|
void addDataObserver(in voidPtr aHandle,
|
|
in nsINamedPipeDataObserver aObserver);
|
|
|
|
/**
|
|
* removeDataObserver
|
|
*
|
|
* @param aHandle
|
|
The handle associated to the observer, and will be closed by the
|
|
service.
|
|
* @param aObserver
|
|
* The observer to be removed.
|
|
*/
|
|
void removeDataObserver(in voidPtr aHandle,
|
|
in nsINamedPipeDataObserver aObserver);
|
|
|
|
/**
|
|
* isOnCurrentThread
|
|
*
|
|
* @return the caller runs within the internal thread.
|
|
*/
|
|
boolean isOnCurrentThread();
|
|
};
|