diff options
Diffstat (limited to 'plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/IBufferProvider.java')
-rw-r--r-- | plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/IBufferProvider.java | 42 |
1 files changed, 41 insertions, 1 deletions
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/IBufferProvider.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/IBufferProvider.java index 2c2c0565ec..07875eec8c 100644 --- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/IBufferProvider.java +++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/buffer/IBufferProvider.java @@ -10,6 +10,9 @@ */ package org.eclipse.net4j.buffer; +import org.eclipse.net4j.util.event.IEvent; +import org.eclipse.net4j.util.event.INotifier; + /** * Provides clients with the ability to obtain and retain {@link IBuffer}s. * @@ -33,7 +36,7 @@ public interface IBufferProvider public void retainBuffer(IBuffer buffer); /** - * Offers additional introspection features for {@link IBufferProvider}s. + * Offers additional introspection features for {@link IBufferProvider buffer providers}. * * @author Eike Stepper */ @@ -49,4 +52,41 @@ public interface IBufferProvider */ public long getRetainedBuffers(); } + + /** + * Offers additional notification features for {@link IBufferProvider buffer providers}. + * + * @author Eike Stepper + * @since 4.6 + */ + public interface Notification extends IBufferProvider, INotifier + { + /** + * An {@link IEvent event} fired from a {@link IBufferProvider buffer provider} to indicate that a buffer has been provided. + * + * @author Eike Stepper + * @noextend This interface is not intended to be extended by clients. + * @noimplement This interface is not intended to be implemented by clients. + */ + public interface BufferProvidedEvent extends IEvent + { + public IBufferProvider.Notification getSource(); + + public IBuffer getBuffer(); + } + + /** + * An {@link IEvent event} fired from a {@link IBufferProvider buffer provider} to indicate that a buffer is about to be retained. + * + * @author Eike Stepper + * @noextend This interface is not intended to be extended by clients. + * @noimplement This interface is not intended to be implemented by clients. + */ + public interface BufferRetainingEvent extends IEvent + { + public IBufferProvider.Notification getSource(); + + public IBuffer getBuffer(); + } + } } |