54 #ifndef _GAMS_AUCTIONS_AUCTION_FACTORY_REPOSITORY_H_
55 #define _GAMS_AUCTIONS_AUCTION_FACTORY_REPOSITORY_H_
61 #include "madara/knowledge/KnowledgeBase.h"
85 const std::string & agent_prefix,
86 madara::knowledge::KnowledgeBase * knowledge = 0);
150 #include "AuctionFactoryRepository.inl"
Copyright(c) 2016 Carnegie Mellon University.
Base class for an auction.
A repository for auction factories.
void set_knowledge(madara::knowledge::KnowledgeBase *knowledge)
Sets the knowledge base.
AuctionBase * create(AuctionType type)
Creates an auction based on type.
virtual ~AuctionFactoryRepository()
Destructor.
AuctionFactoryMap factory_map_
a mapping of types to auction factories
AuctionFactoryRepository(const std::string &agent_prefix, madara::knowledge::KnowledgeBase *knowledge=0)
Constructor.
std::string agent_prefix_
self prefix of the agent
madara::knowledge::KnowledgeBase * knowledge_
knowledge base containing variables
void init(void)
Initializes factories for all supported GAMS auctions.
void add(AuctionType type, AuctionFactory *factory)
Adds an algorithm factory.
AuctionBase * create(const std::string &auction_prefix)
Creates an auction based on type.
void set_agent_prefix(const std::string &prefix)
Sets the prefix for the current bidding agent.
Base class for an auction factory.
madara::knowledge::KnowledgeRecord::Integer AuctionType
convenience typedef for AuctionType
std::map< AuctionType, AuctionFactory * > AuctionFactoryMap
Convenience typedef for a map of types to factories.
Contains all GAMS-related tools, classes and code.