Freeciv21
Develop your civilization from humble roots to a global empire
taiplayer.c File Reference
#include <fc_config.h>
#include <QMutexLocker>
#include "log.h"
#include "ai.h"
#include "city.h"
#include "game.h"
#include "unit.h"
#include "infracache.h"
#include "aiplayer.h"
#include "taicity.h"
#include "taiplayer.h"
+ Include dependency graph for taiplayer.c:

Go to the source code of this file.

Classes

struct  tai_thr
 

Enumerations

enum  tai_abort_msg_class { TAI_ABORT_EXIT , TAI_ABORT_PHASE_END , TAI_ABORT_NONE }
 

Functions

static enum tai_abort_msg_class tai_check_messages (struct ai_type *ait)
 Handle messages from message queue. More...
 
void tai_init_threading (void)
 Initialize ai thread. More...
 
static void tai_thread_start (void *arg)
 This is main function of ai thread. More...
 
void tai_player_alloc (struct ai_type *ait, struct player *pplayer)
 Initialize player for use with threaded AI. More...
 
void tai_player_free (struct ai_type *ait, struct player *pplayer)
 Free player from use with threaded AI. More...
 
void tai_control_gained (struct ai_type *ait, struct player *pplayer)
 We actually control the player. More...
 
void tai_control_lost (struct ai_type *ait, struct player *pplayer)
 We no longer control the player. More...
 
void tai_refresh (struct ai_type *ait, struct player *pplayer)
 Check for messages sent by player thread. More...
 
void tai_msg_to_thr (struct tai_msg *msg)
 Send message to thread. More...
 
void tai_req_from_thr (struct tai_req *req)
 Thread sends message. More...
 
bool tai_thread_running (void)
 Return whether player thread is running. More...
 

Variables

struct tai_thr thrai
 

Enumeration Type Documentation

◆ tai_abort_msg_class

Enumerator
TAI_ABORT_EXIT 
TAI_ABORT_PHASE_END 
TAI_ABORT_NONE 

Definition at line 42 of file taiplayer.c.

Function Documentation

◆ tai_check_messages()

static enum tai_abort_msg_class tai_check_messages ( struct ai_type ait)
static

Handle messages from message queue.

Definition at line 71 of file taiplayer.c.

◆ tai_control_gained()

void tai_control_gained ( struct ai_type ait,
struct player pplayer 
)

We actually control the player.

Definition at line 197 of file taiplayer.c.

Referenced by twai_control_gained().

◆ tai_control_lost()

void tai_control_lost ( struct ai_type ait,
struct player pplayer 
)

We no longer control the player.

Definition at line 218 of file taiplayer.c.

Referenced by twai_control_lost().

◆ tai_init_threading()

void tai_init_threading ( void  )

Initialize ai thread.

Definition at line 61 of file taiplayer.c.

Referenced by tai_init_self().

◆ tai_msg_to_thr()

void tai_msg_to_thr ( struct tai_msg msg)

Send message to thread.

Be sure that thread is running so that messages are not just piling up to the list without anybody reading them.

Definition at line 275 of file taiplayer.c.

Referenced by tai_send_msg().

◆ tai_player_alloc()

void tai_player_alloc ( struct ai_type ait,
struct player pplayer 
)

Initialize player for use with threaded AI.

Definition at line 167 of file taiplayer.c.

Referenced by twai_player_alloc().

◆ tai_player_free()

void tai_player_free ( struct ai_type ait,
struct player pplayer 
)

Free player from use with threaded AI.

Definition at line 180 of file taiplayer.c.

Referenced by twai_player_free().

◆ tai_refresh()

void tai_refresh ( struct ai_type ait,
struct player pplayer 
)

Check for messages sent by player thread.

Definition at line 239 of file taiplayer.c.

Referenced by twai_refresh().

◆ tai_req_from_thr()

void tai_req_from_thr ( struct tai_req req)

Thread sends message.

Definition at line 285 of file taiplayer.c.

Referenced by tai_send_req().

◆ tai_thread_running()

bool tai_thread_running ( void  )

Return whether player thread is running.

Definition at line 294 of file taiplayer.c.

Referenced by tai_send_msg().

◆ tai_thread_start()

static void tai_thread_start ( void *  arg)
static

This is main function of ai thread.

Definition at line 71 of file taiplayer.c.

Referenced by tai_control_gained().

Variable Documentation

◆ thrai