Files
common/CEF4Delphi/win32/hpps/uCEFWorkScheduler.hpp
T
2026-06-12 23:18:12 +08:00

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