API — Core
Module gagent/core : cycle de vie des agents et comportements.
Agent
-
class Agent
Public Functions
-
Agent()
-
virtual ~Agent()
-
bool is_notification()
-
void *scheduler(void*)
-
void control_Thread()
-
void listener_extern_signals_Thread()
-
void init()
-
void _init(int)
-
virtual void setup() = 0
-
virtual void takeDown()
-
inline virtual std::string agentTypeName() const
-
int doDelete()
-
int doActivate()
-
int doSuspend()
-
int doWait()
-
int doWake()
-
int doMove()
-
int doMove(const MigrationTarget &target)
-
int doAction(const int)
-
void setAgentName(const std::string &name)
-
messaging::ITransport &transport()
-
int sendMsgMonitor(std::string)
-
void signal_handler(const boost::system::error_code &error, int signal_number)
-
void addAttribut(std::string)
-
void removeAttribut(std::string)
-
void setAttribut(std::string, std::string)
-
std::string getAttribut(std::string)
-
void attributUpdated()
Public Static Attributes
-
static const int AGENT_UNKNOWN = 0
-
static const int AGENT_CREATED = 1
-
static const int AGENT_INITED = 2
-
static const int AGENT_ACTIVE = 3
-
static const int AGENT_SUSPENDED = 4
-
static const int AGENT_TRANSIT = 5
-
static const int AGENT_WAITING = 6
-
static const int AGENT_DELETED = 7
-
static const int AGENT_WAKING = 8
-
struct MigrationTarget
-
Agent()
AgentCore
AgentID
-
class AgentID
Behaviour
-
class Behaviour
Subclassed by gagent::CompositeBehaviour, gagent::SimpleBehaviour, gagent::protocols::ContractNetInitiator, gagent::protocols::ContractNetParticipant, gagent::protocols::RequestInitiator, gagent::protocols::RequestParticipant, gagent::protocols::SubscribeInitiator, gagent::protocols::SubscribeParticipant, gagent::python::PythonBehaviour
Public Functions
-
Behaviour()
-
virtual void action()
-
virtual bool done()
-
virtual void onStart()
-
virtual void onEnd()
-
inline virtual int exitValue()
-
virtual int doDelete()
-
virtual int doActivate()
-
virtual int doSuspend()
-
virtual int doWait()
-
virtual int doWake()
-
virtual int doMove()
-
int doAction(const int)
-
virtual ~Behaviour()
-
Behaviour()
-
class OneShotBehaviour : public gagent::SimpleBehaviour
-
class CyclicBehaviour : public gagent::SimpleBehaviour
-
class TickerBehaviour : public gagent::SimpleBehaviour
-
class WakerBehaviour : public gagent::SimpleBehaviour
BehaviourFactory
-
class BehaviourFactory
Factory for creating Behaviour instances.
Implements the Factory pattern to create behaviour objects dynamically. Supports registration of custom behaviour types.
Example usage:
auto factory = BehaviourFactory::getInstance(); factory.registerBehaviour("MyBehaviour", [](Agent* ag) { return std::make_unique<MyBehaviour>(ag); }); auto behaviour = factory.create("MyBehaviour", agent);
Public Functions
-
inline void registerBehaviour(const std::string &name, BehaviourCreator creator)
Register a new behaviour type.
- Paramètres:
name – Type name identifier
creator – Function to create the behaviour
-
inline std::unique_ptr<Behaviour> create(const std::string &name, Agent *agent)
Create a behaviour instance.
- Paramètres:
name – Type name
agent – Agent owner
- Déclenche:
BehaviourException – if type not found
- Renvoie:
Unique pointer to created behaviour
-
inline bool isRegistered(const std::string &name) const
Check if behaviour type is registered.
- Paramètres:
name – Type name
- Renvoie:
true if registered
-
BehaviourFactory(const BehaviourFactory&) = delete
-
BehaviourFactory &operator=(const BehaviourFactory&) = delete
Public Static Functions
-
static inline BehaviourFactory &getInstance()
Get singleton instance.
- Renvoie:
Reference to factory instance
-
inline void registerBehaviour(const std::string &name, BehaviourCreator creator)
DFService
-
class DFService