components/mariadb_control.dart
File ini mendefinisikan widget stateful untuk mengontrol server basis data MariaDB.
Kelas Mariadbcontrol:
- Sebuah
StatefulWidgetyang membuat status untuk kartu kontrol MariaDB.
Kelas _MariadbcontrolState:
- Kelas status untuk
Mariadbcontrol. - Variabel Status:
status: Boolean yang melacak status berjalan dari layanan MariaDB._isManualChanging: Sebuah flag untuk mencegah status diperbarui saat operasi mulai/berhenti sedang berlangsung._statusTimer: SebuahTimeryang secara berkala memeriksa status layanan MariaDB._dialogShown: Sebuah flag untuk memastikan bahwa dialog peringatan hanya ditampilkan sekali.
sendTerminal(String message):- Fungsi pembantu untuk mengirim pesan log ke
Terminalcontext.
- Fungsi pembantu untuk mengirim pesan log ke
_triggerMariaDB(bool value):- Fungsi ini dipanggil saat
SwitchpadaServiceControlCarddiubah. - Jika
valueadalahtrue, ia memulai prosesmysqld.exe. - Jika
valueadalahfalse, ia mematikan prosesmysqld.exe. - Ini mengirim pesan log yang sesuai ke terminal.
- Fungsi ini dipanggil saat
_checkMariadbStatus():- Ini adalah fungsi pemeriksaan status yang lebih kompleks.
- Memeriksa apakah proses
mysqld.exeberjalan. - Memeriksa apakah port MariaDB yang dikonfigurasi sedang digunakan.
- Menangani berbagai skenario:
- Jika port digunakan oleh proses lain, ia menampilkan dialog peringatan.
- Jika proses
mysqld.exeberjalan tetapi tidak pada port yang dikonfigurasi, ia menampilkan peringatan dan mematikan proses tersebut. - Mengatur ulang flag
_dialogShownsaat situasi teratasi.
- Ini memperbarui variabel status
statusberdasarkan status proses.
_launchPhpMyAdmin():- Meluncurkan browser web default ke antarmuka phpMyAdmin.
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 MariaDB:serviceName: "MariaDB"statusText: "Berjalan" atau "Berhenti"statusColor: Hijau atau merahvalue:statussaat inionChanged: Fungsi_triggerMariaDBonLaunch: Fungsi_launchPhpMyAdmin(hanya diaktifkan jika MariaDB berjalan)imageAsset: "assets/mariadb.png"
- Mengembalikan widget
Komponen ini menyediakan kontrol yang kuat atas layanan MariaDB, termasuk deteksi konflik dan pemberitahuan pengguna.