summaryrefslogtreecommitdiff
path: root/Vlv2TbltDevicePkg/Include/Protocol/Observable.h
diff options
context:
space:
mode:
Diffstat (limited to 'Vlv2TbltDevicePkg/Include/Protocol/Observable.h')
-rw-r--r--Vlv2TbltDevicePkg/Include/Protocol/Observable.h186
1 files changed, 0 insertions, 186 deletions
diff --git a/Vlv2TbltDevicePkg/Include/Protocol/Observable.h b/Vlv2TbltDevicePkg/Include/Protocol/Observable.h
deleted file mode 100644
index bc5571e..0000000
--- a/Vlv2TbltDevicePkg/Include/Protocol/Observable.h
+++ /dev/null
@@ -1,186 +0,0 @@
-/*++
-
- Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>
-
- SPDX-License-Identifier: BSD-2-Clause-Patent
-
-
-
-
-Module Name:
-
- Observable.h
-
-Abstract:
-
- Interface and GUID definitions for Observable protocol.
-
-**/
-
-#ifndef _OBSERVABLE_PROTOCOL_H_
-#define _OBSERVABLE_PROTOCOL_H_
-
-//
-// GUID Definitions
-//
-#define OBSERVABLE_PROTOCOL_GUID \
- { \
- 0xe227c522, 0xd5fe, 0x4a53, 0x87, 0xb1, 0x0f, 0xbe, 0x57, 0x0f, 0x98, 0xe9 \
- }
-
-extern EFI_GUID gObservableProtocolGuid;
-
-typedef struct _OBS_OBSERVABLE_PROTOCOL OBS_OBSERVABLE_PROTOCOL;
-
-//
-// Interface Definitions
-//
-
-/**
- Remove all observables.
-
- Remove all observable guids and all interfaces subscribed to them.
-
- @param VOID No Parameters.
-
- @return EFI_SUCCESS Successfully removed all observables and subscribed interfaces.
-
-**/
-typedef
-EFI_STATUS
-(EFIAPI *OBS_REMOVE_ALL_OBSERVABLES) (
- VOID
- );
-
-/**
- Interface for notification functions.
-
- Functions that are to be used as callbacks must inherit this interface in order to be used properly.
-
- @param VOID* Data Parameter context to be passed to the notification function.
-
- @return EFI_STATUS Varies depending on implementation.
-
-**/
-typedef
-EFI_STATUS
-(EFIAPI *OBS_CALLBACK) (
- IN OUT VOID* Data
- );
-
-/**
- Subscribe an interface with an observable guid.
-
- Use this to register a callback function with a guid. The function provided by CallbackInterface will be executed
- whenever the appropriate observable instance specified by ReferenceGuid calls Publish.
-
- @param EFI_GUID ReferenceGuid The observable guid that the callback interface will subscribe to.
- OBS_NOTIFY_INTERFACE CallbackInterface A pointer to the function that is subscribing to the observable.
-
- @return EFI_SUCCESS Successfully subscribed the interface to the observable guid.
- EFI_NOT_FOUND No match could be found between the provided guid and existing observables.
- EFI_OUT_OF_RESOURCES Could not subscribe to this observer due to resource limitations.
- EFI_INVALID_PARAMETER Interface is already subscribed to this observer.
-**/
-typedef
-EFI_STATUS
-(EFIAPI *OBS_SUBSCRIBE) (
- IN EFI_GUID ReferenceGuid,
- IN OBS_CALLBACK CallbackInterface
- );
-
-/**
- Unsubscribe an interface with an observable guid.
-
- Use this to remove an interface from the callback list associated with an observable guid.
-
- @param EFI_GUID ReferenceGuid The observable guid to unsubscribe the interface from.
- OBS_NOTIFY_INTERFACE NotifyCallback A pointer to the interface that is being unsubscribed.
-
- @return EFI_SUCCESS Successfully unsubscribed the interface from the observable guid.
-
-**/
-typedef
-EFI_STATUS
-(EFIAPI *OBS_UNSUBSCRIBE) (
- IN EFI_GUID ReferenceGuid,
- IN OBS_CALLBACK CallbackInterface
- );
-
-/**
- Notify observing functions.
-
- Use this to notify all functions who are subscribed to the guid specified by ReferenceGuid.
-
- @param EFI_GUID ReferenceGuid The observable guid that contains the the list of interfaces to be notified.
- VOID* Data Parameter context to be passed to the notification function.
-
- @return EFI_SUCCESS Successfully notified all observers listening to this guid.
- EFI_NOT_FOUND No match could be found between the provided guid and existing observables.
-
-**/
-typedef
-EFI_STATUS
-(EFIAPI *OBS_PUBLISH) (
- IN EFI_GUID ReferenceGuid,
- IN OUT VOID* Data
- );
-
-/**
- Creates a new observable.
-
- Create a new observable that can be observed with the use of Subscribe function.
-
- @param EFI_GUID ReferenceGuid The observable guid to add.
-
- @return EFI_SUCCESS Successfully added observable.
- EFI_INVALID_PARAMETER Observable already exists.
-
-**/
-typedef
-EFI_STATUS
-(EFIAPI *OBS_ADD_OBSERVABLE) (
- IN EFI_GUID ReferenceGuid
- );
-
-/**
- Remove an observable.
-
- Remove an observable so that it can no longer be subscribed to. In addition, unsubscribe any functions
- that are subscribed to this guid.
-
- @param EFI_GUID ReferenceGuid The observable guid to remove.
-
- @return EFI_SUCCESS Successfully removed observable.
-
-**/
-typedef
-EFI_STATUS
-(EFIAPI *OBS_REMOVE_OBSERVABLE) (
- IN EFI_GUID ReferenceGuid
- );
-
-//
-// Protocol Definitions
-//
-typedef struct _OBS_LEAF {
- OBS_CALLBACK Observer;
- struct _OBS_LEAF* Next;
-} OBS_LEAF;
-
-typedef struct _OBS_TREE {
- EFI_GUID ObservableGuid;
- OBS_LEAF* Leaf;
- struct _OBS_TREE* Next;
-} OBS_TREE;
-
-struct _OBS_OBSERVABLE_PROTOCOL {
- OBS_ADD_OBSERVABLE AddObservable;
- OBS_REMOVE_OBSERVABLE RemoveObservable;
- OBS_SUBSCRIBE Subscribe;
- OBS_UNSUBSCRIBE Unsubscribe;
- OBS_PUBLISH Publish;
- OBS_REMOVE_ALL_OBSERVABLES RemoveAllObservables;
-} ;
-
-#endif