93 lines
3.5 KiB
C++
93 lines
3.5 KiB
C++
// CodeGear C++Builder
|
|
// Copyright (c) 1995, 2025 by Embarcadero Technologies, Inc.
|
|
// All rights reserved
|
|
|
|
// (DO NOT EDIT: machine generated header) 'uCEFWorkScheduler.pas' rev: 37.00 (Windows)
|
|
|
|
#ifndef uCEFWorkSchedulerHPP
|
|
#define uCEFWorkSchedulerHPP
|
|
|
|
#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 <Winapi.Windows.hpp>
|
|
#include <Winapi.Messages.hpp>
|
|
#include <System.Classes.hpp>
|
|
#include <uCEFConstants.hpp>
|
|
#include <uCEFWorkSchedulerQueueThread.hpp>
|
|
#include <uCEFWorkSchedulerThread.hpp>
|
|
|
|
//-- user supplied -----------------------------------------------------------
|
|
|
|
namespace Ucefworkscheduler
|
|
{
|
|
//-- forward type declarations -----------------------------------------------
|
|
class DELPHICLASS TCEFWorkScheduler;
|
|
//-- type declarations -------------------------------------------------------
|
|
class PASCALIMPLEMENTATION TCEFWorkScheduler : public System::Classes::TComponent
|
|
{
|
|
typedef System::Classes::TComponent inherited;
|
|
|
|
protected:
|
|
Ucefworkschedulerthread::TCEFWorkSchedulerThread* FThread;
|
|
Ucefworkschedulerqueuethread::TCEFWorkSchedulerQueueThread* FQueueThread;
|
|
unsigned FDepleteWorkCycles;
|
|
unsigned FDepleteWorkDelay;
|
|
int FDefaultInterval;
|
|
bool FStopped;
|
|
bool FUseQueueThread;
|
|
HWND FCompHandle;
|
|
System::Classes::TThreadPriority FPriority;
|
|
void __fastcall CreateQueueThread();
|
|
void __fastcall DestroyQueueThread();
|
|
void __fastcall QueueThread_OnPulse(System::TObject* Sender, int aDelay);
|
|
void __fastcall DestroyThread();
|
|
void __fastcall DepleteWork();
|
|
void __fastcall WndProc(Winapi::Messages::TMessage &aMessage);
|
|
void __fastcall DeallocateWindowHandle();
|
|
void __fastcall NextPulse(int aInterval);
|
|
void __fastcall ScheduleWork(const __int64 delay_ms);
|
|
void __fastcall DoWork();
|
|
void __fastcall DoMessageLoopWork();
|
|
void __fastcall Initialize();
|
|
void __fastcall SetDefaultInterval(int aValue);
|
|
void __fastcall SetPriority(System::Classes::TThreadPriority aValue);
|
|
void __fastcall Thread_OnPulse(System::TObject* Sender);
|
|
|
|
public:
|
|
__fastcall virtual TCEFWorkScheduler(System::Classes::TComponent* AOwner);
|
|
__fastcall TCEFWorkScheduler();
|
|
__fastcall virtual ~TCEFWorkScheduler();
|
|
void __fastcall ScheduleMessagePumpWork(const __int64 delay_ms);
|
|
void __fastcall StopScheduler();
|
|
void __fastcall CreateThread();
|
|
|
|
__published:
|
|
__property System::Classes::TThreadPriority Priority = {read=FPriority, write=SetPriority, default=3};
|
|
__property int DefaultInterval = {read=FDefaultInterval, write=SetDefaultInterval, default=33};
|
|
__property unsigned DepleteWorkCycles = {read=FDepleteWorkCycles, write=FDepleteWorkCycles, default=10};
|
|
__property unsigned DepleteWorkDelay = {read=FDepleteWorkDelay, write=FDepleteWorkDelay, default=50};
|
|
__property bool UseQueueThread = {read=FUseQueueThread, write=FUseQueueThread, default=0};
|
|
};
|
|
|
|
|
|
//-- var, const, procedure ---------------------------------------------------
|
|
extern DELPHI_PACKAGE TCEFWorkScheduler* GlobalCEFWorkScheduler;
|
|
extern DELPHI_PACKAGE void __fastcall DestroyGlobalCEFWorkScheduler(void);
|
|
} /* namespace Ucefworkscheduler */
|
|
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_UCEFWORKSCHEDULER)
|
|
using namespace Ucefworkscheduler;
|
|
#endif
|
|
#pragma pack(pop)
|
|
#pragma option pop
|
|
|
|
#pragma delphiheader end.
|
|
//-- end unit ----------------------------------------------------------------
|
|
#endif // uCEFWorkSchedulerHPP
|