1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- /* -*- 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 "nsIRDFResource.idl"
- #include "nsIRDFNode.idl"
- interface nsIRDFDataSource;
- // An nsIRDFObserver object is an observer that will be notified
- // when assertions are made or removed from a datasource
- [scriptable, uuid(3CC75360-484A-11D2-BC16-00805F912FE7)]
- interface nsIRDFObserver : nsISupports {
- /**
- * This method is called whenever a new assertion is made
- * in the data source
- * @param aDataSource the datasource that is issuing
- * the notification.
- * @param aSource the subject of the assertion
- * @param aProperty the predicate of the assertion
- * @param aTarget the object of the assertion
- */
- void onAssert(in nsIRDFDataSource aDataSource,
- in nsIRDFResource aSource,
- in nsIRDFResource aProperty,
- in nsIRDFNode aTarget);
- /**
- * This method is called whenever an assertion is removed
- * from the data source
- * @param aDataSource the datasource that is issuing
- * the notification.
- * @param aSource the subject of the assertion
- * @param aProperty the predicate of the assertion
- * @param aTarget the object of the assertion
- */
- void onUnassert(in nsIRDFDataSource aDataSource,
- in nsIRDFResource aSource,
- in nsIRDFResource aProperty,
- in nsIRDFNode aTarget);
- /**
- * This method is called when the object of an assertion
- * changes from one value to another.
- * @param aDataSource the datasource that is issuing
- * the notification.
- * @param aSource the subject of the assertion
- * @param aProperty the predicate of the assertion
- * @param aOldTarget the old object of the assertion
- * @param aNewTarget the new object of the assertion
- */
- void onChange(in nsIRDFDataSource aDataSource,
- in nsIRDFResource aSource,
- in nsIRDFResource aProperty,
- in nsIRDFNode aOldTarget,
- in nsIRDFNode aNewTarget);
- /**
- * This method is called when the subject of an assertion
- * changes from one value to another.
- * @param aDataSource the datasource that is issuing
- * the notification.
- * @param aOldSource the old subject of the assertion
- * @param aNewSource the new subject of the assertion
- * @param aProperty the predicate of the assertion
- * @param aTarget the object of the assertion
- */
- void onMove(in nsIRDFDataSource aDataSource,
- in nsIRDFResource aOldSource,
- in nsIRDFResource aNewSource,
- in nsIRDFResource aProperty,
- in nsIRDFNode aTarget);
- /**
- * This method is called when a datasource is about to
- * send several notifications at once. The observer can
- * use this as a cue to optimize its behavior. The observer
- * can expect the datasource to call endUpdateBatch() when
- * the group of notifications has completed.
- * @param aDataSource the datasource that is going to
- * be issuing the notifications.
- */
- void onBeginUpdateBatch(in nsIRDFDataSource aDataSource);
- /**
- * This method is called when a datasource has completed
- * issuing a notification group.
- * @param aDataSource the datasource that has finished
- * issuing a group of notifications
- */
- void onEndUpdateBatch(in nsIRDFDataSource aDataSource);
- };
|