80 lines
2.7 KiB
C++
80 lines
2.7 KiB
C++
// CodeGear C++Builder
|
|
// Copyright (c) 1995, 2025 by Embarcadero Technologies, Inc.
|
|
// All rights reserved
|
|
|
|
// (DO NOT EDIT: machine generated header) 'uCEFWorkSchedulerQueueThread.pas' rev: 37.00 (Windows)
|
|
|
|
#ifndef uCEFWorkSchedulerQueueThreadHPP
|
|
#define uCEFWorkSchedulerQueueThreadHPP
|
|
|
|
#pragma delphiheader begin
|
|
#pragma option push
|
|
#if defined(__BORLANDC__) && !defined(__clang__)
|
|
#pragma option -w- // All warnings off
|
|
#pragma option -Vx // Zero-length empty class member
|
|
#endif
|
|
#pragma pack(push,8)
|
|
#include <System.hpp>
|
|
#include <SysInit.hpp>
|
|
#include <System.Classes.hpp>
|
|
#include <System.SyncObjs.hpp>
|
|
#include <System.SysUtils.hpp>
|
|
#include <uCEFConstants.hpp>
|
|
|
|
//-- user supplied -----------------------------------------------------------
|
|
|
|
namespace Ucefworkschedulerqueuethread
|
|
{
|
|
//-- forward type declarations -----------------------------------------------
|
|
class DELPHICLASS TCEFWorkSchedulerQueueThread;
|
|
//-- type declarations -------------------------------------------------------
|
|
typedef void __fastcall (__closure *TOnPulseEvent)(System::TObject* Sender, int aDelay);
|
|
|
|
typedef System::DynamicArray<int> TValuesArray;
|
|
|
|
class PASCALIMPLEMENTATION TCEFWorkSchedulerQueueThread : public System::Classes::TThread
|
|
{
|
|
typedef System::Classes::TThread inherited;
|
|
|
|
protected:
|
|
System::Syncobjs::TCriticalSection* FQueueCS;
|
|
System::Syncobjs::TEvent* FEvent;
|
|
bool FWaiting;
|
|
bool FStop;
|
|
bool FReady;
|
|
TValuesArray FValues;
|
|
TOnPulseEvent FOnPulse;
|
|
int __fastcall GetAvailableValue();
|
|
bool __fastcall GetHasPendingValue();
|
|
bool __fastcall Lock();
|
|
void __fastcall Unlock();
|
|
bool __fastcall CanContinue();
|
|
void __fastcall ReadAllPendingValues();
|
|
void __fastcall DoOnPulse();
|
|
virtual void __fastcall Execute();
|
|
__property int AvailableValue = {read=GetAvailableValue, nodefault};
|
|
__property bool HasPendingValue = {read=GetHasPendingValue, nodefault};
|
|
|
|
public:
|
|
__fastcall TCEFWorkSchedulerQueueThread();
|
|
__fastcall virtual ~TCEFWorkSchedulerQueueThread();
|
|
virtual void __fastcall AfterConstruction();
|
|
void __fastcall StopThread();
|
|
void __fastcall EnqueueValue(int aValue);
|
|
__property bool Ready = {read=FReady, nodefault};
|
|
__property TOnPulseEvent OnPulse = {read=FOnPulse, write=FOnPulse};
|
|
};
|
|
|
|
|
|
//-- var, const, procedure ---------------------------------------------------
|
|
} /* namespace Ucefworkschedulerqueuethread */
|
|
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_UCEFWORKSCHEDULERQUEUETHREAD)
|
|
using namespace Ucefworkschedulerqueuethread;
|
|
#endif
|
|
#pragma pack(pop)
|
|
#pragma option pop
|
|
|
|
#pragma delphiheader end.
|
|
//-- end unit ----------------------------------------------------------------
|
|
#endif // uCEFWorkSchedulerQueueThreadHPP
|