components/httpd_control.dart
File ini mendefinisikan widget stateful untuk mengontrol Server HTTP Apache (httpd).
Kelas HttpdControl:
- Sebuah
StatefulWidgetyang membuat status untuk kartu kontrol Apache.
Kelas _HttpdControlState:
- Kelas status untuk
HttpdControl. - Variabel Status:
status: Boolean yang melacak status berjalan dari layanan Apache._isManualChanging: Sebuah flag untuk mencegah status diperbarui saat operasi mulai/berhenti sedang berlangsung._statusTimer: SebuahTimeryang secara berkala memeriksa status layanan Apache.
sendTerminal(String message):- Fungsi pembantu untuk mengirim pesan log ke
Terminalcontext.
- Fungsi pembantu untuk mengirim pesan log ke
_checkHttpdStatus():- Secara asinkron memeriksa apakah proses
httpd.exeberjalan menggunakan utilitascheckProcess(). - Ini memperbarui variabel status
statusyang sesuai.
- Secara asinkron memeriksa apakah proses
_startHttpd(bool value):- Fungsi ini dipanggil saat
SwitchpadaServiceControlCarddiubah. - Jika
valueadalahtrue(mulai), ia memulai proseshttpd.exedengan file konfigurasi yang sesuai. - Jika
valueadalahfalse(berhenti), ia mematikan proseshttpd.exe. - Ini mengirim pesan log yang sesuai ke terminal.
- Ini memperbarui status
statusdan menggunakan flag_isManualChanginguntuk mencegah kondisi balapan.
- Fungsi ini dipanggil saat
_launchUrl():- Meluncurkan browser web default ke
http://localhostdengan port Apache yang dikonfigurasi.
- Meluncurkan browser web default ke
initState():- Menginisialisasi timer pemeriksaan status untuk berjalan setiap 2 detik.
dispose():- Membatalkan timer pemeriksaan status saat widget dibuang.
build():- Mengembalikan widget
ServiceControlCarddengan properti yang sesuai untuk Apache:serviceName: "Apache"statusText: "Berjalan" atau "Berhenti"statusColor: Hijau atau merahvalue:statussaat inionChanged: Fungsi_startHttpdonLaunch: Fungsi_launchUrl(hanya diaktifkan jika Apache berjalan)imageAsset: "assets/httpd.png"
- Mengembalikan widget
Komponen ini menyediakan solusi lengkap untuk mengelola server web Apache.