void destroyDummyCoreServices(TestServicesType& services)
{
    requireUnique(services.mSpaceProvider, "SpaceProvider");
    services.mSpaceProvider.reset();

    requireUnique(services.mPatientModelService, "PatientModelService");
    services.mPatientModelService.reset();

    requireUnique(services.mTrackingService, "TrackingService");
    services.mTrackingService.reset();

    cx::Reporter::shutdown();
}
Beispiel #2
0
void SetRaceCommand::execute(Character *player, const QString &command) {

    super::prepareExecute(player, command);

    GameObjectPtrList characters = takeObjects(currentRoom()->characters());
    if (!requireUnique(characters, "Character not found.", "Character is not unique.")) {
        return;
    }

    QString raceName = takeWord();
    if (raceName.isEmpty()) {
        send("Usage: set-race <character-name> [#] <race-name>");
        return;
    }

    Character *character = characters[0].cast<Character *>();
    for (const GameObjectPtr &racePtr : Realm::instance()->races()) {
        if (racePtr->name() == raceName) {
            character->setRace(racePtr);

            send("Race modified.");
            return;
        }
    }

    send("Unknown race given.");
}
Beispiel #3
0
void PatientModelImplService::shutdownInterconnectedDataAndSpace()
{
	requireUnique(mPatientData, "PatientData");
	mPatientData.reset();

	// [HACK] break loop by removing connection to DataFactory and SpaceProvider
	mDataService->setSpaceProvider(SpaceProviderPtr());
	mDataService->setDataFactory(DataFactoryPtr());
	mDataService->clear();

	requireUnique(mDataFactory, "DataFactory");
	mDataFactory.reset();

	requireUnique(mDataService, "DataService");
	mDataService.reset();
}
Beispiel #4
0
void LogicManager::shutdownService(boost::shared_ptr<T>& service, QString name)
{
	requireUnique(service, name);
	service.reset();
}