1/*
2 * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
3 *
4 * NVIDIA CORPORATION and its licensors retain all intellectual property
5 * and proprietary rights in and to this software, related documentation
6 * and any modifications thereto. Any use, reproduction, disclosure or
7 * distribution of this software and related documentation without an express
8 * license agreement from NVIDIA CORPORATION is strictly prohibited.
9 */
10
11#ifndef PX_PROFILE_EVENT_BUFFER_CLIENT_H
12#define PX_PROFILE_EVENT_BUFFER_CLIENT_H
13
14#include "physxprofilesdk/PxProfileBase.h"
15#include "physxprofilesdk/PxProfileEventNames.h"
16
17namespace physx {
18
19 /**
20 * Client handles the data when an event buffer flushes. This data
21 * can be parsed (PxProfileEventHandler.h) as a binary set of events.
22 */
23 class PxProfileEventBufferClient
24 {
25 protected:
26 virtual ~PxProfileEventBufferClient(){}
27 public:
28 /**
29 * Callback when the event buffer is full. This data is serialized profile events
30 * and can be read back using:
31 * PxProfileEventHandler::parseEventBuffer (PxProfileEventHandler.h).
32 */
33 virtual void handleBufferFlush( const PxU8* inData, PxU32 inLength ) = 0;
34 //Happens if something removes all the clients from the manager.
35 virtual void handleClientRemoved() = 0;
36 };
37
38 class PxProfileZoneClient : public PxProfileEventBufferClient
39 {
40 protected:
41 virtual ~PxProfileZoneClient(){}
42 public:
43 virtual void handleEventAdded( const PxProfileEventName& inName ) = 0;
44 };
45
46}
47
48
49#endif // PX_PROFILE_EVENT_BUFFER_CLIENT_H
50