From c79a25cdbb359a6757cf7c2bca64fb52642073e2 Mon Sep 17 00:00:00 2001 From: Jeffrey Armstrong Date: Wed, 24 Nov 2021 18:12:57 -0500 Subject: Started addition of scheduling jobs --- captain/db.f90 | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) (limited to 'captain/db.f90') diff --git a/captain/db.f90 b/captain/db.f90 index 152f61b..b7712fa 100644 --- a/captain/db.f90 +++ b/captain/db.f90 @@ -36,6 +36,8 @@ implicit none integer, parameter::PLAYER_STATUS_IDLE = 100 integer, parameter::PLAYER_STATUS_OFFLINE = 101 + integer, parameter::SCHEDULE_DAILY = 0 + character(1024)::database_file type(c_ptr)::db @@ -1345,5 +1347,52 @@ contains end if end function is_player_online + + subroutine add_scheduled_job(player, instruction, day, hour) + implicit none + + integer, intent(in)::player, instruction, day, hour + type(sqlite3_stmt)::stmt + + if(stmt%prepare(db, "INSERT INTO schedule(instruction, player, day, hour) VALUES(?, ?, ?, ?") == SQLITE_OK) then + if(stmt%bind_int(1, instruction) == SQLITE_OK .and. & + stmt%bind_int(2, player) == SQLITE_OK .and. & + stmt%bind_int(3, day) == SQLITE_OK .and. & + stmt%bind_int(4, hour) == SQLITE_OK) & + then + call stmt%step_now() + end if + end if + call stmt%finalize() + end subroutine add_scheduled_job + + subroutine delete_scheduled_job(player, instruction, day, hour) + implicit none + + integer, intent(in)::player, instruction, day, hour + type(sqlite3_stmt)::stmt + + if(stmt%prepare(db, "DELETE FROM schedule WHERE instruction=? AND player=? AND day=? AND hour=?") == SQLITE_OK) then + if(stmt%bind_int(1, instruction) == SQLITE_OK .and. & + stmt%bind_int(2, player) == SQLITE_OK .and. & + stmt%bind_int(3, day) == SQLITE_OK .and. & + stmt%bind_int(4, hour) == SQLITE_OK) & + then + call stmt%step_now() + end if + end if + call stmt%finalize() + + end subroutine delete_scheduled_job + + subroutine queue_scheduled_jobs(player) + implicit none + + integer, intent(in)::player + + ! Needs implementation + + end subroutine queue_scheduled_jobs + end module captain_db -- cgit v1.2.3