From 264e892e3ff35e1a8e3cf1248330c4795f315cf6 Mon Sep 17 00:00:00 2001 From: Kurt Frey Date: Tue, 23 Jun 2026 17:24:27 -0700 Subject: [PATCH 1/3] Working --- Eradication/AdditionalRestrictions.cpp | 3 - Eradication/AdditionalRestrictionsHIV.cpp | 4 - Eradication/AdditionalRestrictionsSTI.cpp | 4 - Eradication/BroadcastCoordinatorEvent.cpp | 5 +- Eradication/BroadcastCoordinatorEvent.h | 2 + Eradication/CalendarEventCoordinator.cpp | 4 +- Eradication/CampaignEvent.cpp | 5 +- Eradication/CampaignEventByYear.cpp | 3 +- .../CommunityHealthWorkerEventCoordinator.cpp | 3 +- .../CommunityHealthWorkerEventCoordinator.h | 2 + .../CoverageByNodeEventCoordinator.cpp | 4 +- Eradication/DelayEventCoordinator.cpp | 3 +- ...stNodeWithNodePropertyEventCoordinator.cpp | 3 +- Eradication/HasRelationship.cpp | 1 - Eradication/IncidenceEventCoordinator.cpp | 1 - Eradication/IncidenceEventCoordinator.h | 2 + Eradication/NChooserEventCoordinator.cpp | 3 +- Eradication/NChooserEventCoordinator.h | 2 + Eradication/NChooserEventCoordinatorHIV.cpp | 5 - Eradication/NChooserEventCoordinatorHIV.h | 5 - Eradication/NChooserEventCoordinatorSTI.cpp | 2 - Eradication/NChooserEventCoordinatorSTI.h | 2 - Eradication/NodeSTI.cpp | 1 - .../ReferenceTrackingEventCoordinator.cpp | 3 +- .../ReferenceTrackingEventCoordinatorHIV.cpp | 3 +- ...TrackingEventCoordinatorTrackingConfig.cpp | 3 +- Eradication/SimulationConfig.cpp | 1 - Eradication/SpatialReportMalaria.cpp | 1 - Eradication/StandardEventCoordinator.cpp | 24 +-- Eradication/StandardEventCoordinator.h | 2 + Eradication/TargetingLogic.cpp | 1 - Eradication/TriggeredEventCoordinator.cpp | 4 +- .../VectorSurveillanceEventCoordinator.cpp | 7 +- campaign/Interventions.h | 4 + campaign/NodeSet.h | 4 + campaign/NodeSetAll.cpp | 3 +- campaign/NodeSetNodeList.cpp | 3 +- interventions/ARTDropout.cpp | 1 - interventions/AbstractDecision.cpp | 1 - .../AbstractSocietyOverrideIntervention.cpp | 1 - interventions/AntiretroviralTherapy.cpp | 1 - interventions/Bednet.cpp | 1 - interventions/BirthTriggeredIV.cpp | 1 - interventions/BitingRisk.cpp | 1 - .../BroadcastCoordinatorEventFromNode.cpp | 1 - interventions/BroadcastEvent.cpp | 1 - interventions/BroadcastEventToOtherNodes.cpp | 1 - interventions/BroadcastNodeEvent.cpp | 1 - interventions/CalendarIV.cpp | 1 - interventions/CoitalActRiskFactors.cpp | 1 - interventions/DelayedIntervention.cpp | 1 - interventions/Diagnostics.cpp | 1 - interventions/Drugs.cpp | 1 - interventions/FemaleContraceptive.cpp | 1 - .../HIVPiecewiseByYearAndSexDiagnostic.cpp | 1 - interventions/HIVRandomChoice.cpp | 1 - .../HIVSigmoidByYearAndSexDiagnostic.cpp | 1 - interventions/HealthSeekingBehavior.cpp | 1 - interventions/HousingModification.cpp | 1 - interventions/HumanHostSeekingTrap.cpp | 1 - interventions/ImportPressure.cpp | 1 - interventions/IndividualImmunityChanger.cpp | 1 - .../IndividualNonDiseaseDeathRateModifier.cpp | 1 - interventions/IndividualRepellent.cpp | 1 - interventions/InputEIR.cpp | 1 - interventions/InsecticideWaningEffect.cpp | 6 +- .../InterventionForCurrentPartners.cpp | 1 - interventions/Ivermectin.cpp | 1 - interventions/MalariaChallenge.cpp | 1 - interventions/MaleCircumcision.cpp | 1 - interventions/MigrateFamily.cpp | 1 - interventions/MigrateIndividuals.cpp | 1 - interventions/ModifyStiCoInfectionStatus.cpp | 1 - interventions/MosquitoRelease.cpp | 1 - interventions/MultiEffectVaccine.cpp | 1 - .../MultiInterventionDistributor.cpp | 1 - .../MultiNodeInterventionDistributor.cpp | 1 - interventions/NLHTIVNode.cpp | 1 - interventions/NodeLevelHealthTriggeredIV.cpp | 1 - interventions/NodePropertyValueChanger.cpp | 1 - interventions/Outbreak.cpp | 1 - interventions/OutbreakIndividual.cpp | 1 - interventions/PMTCT.cpp | 1 - interventions/PropertyValueChanger.cpp | 1 - interventions/RTSSVaccine.cpp | 1 - interventions/STIBarrier.cpp | 1 - interventions/SetSexualDebutAge.cpp | 1 - interventions/SimpleVaccine.cpp | 1 - interventions/StartNewRelationship.cpp | 1 - interventions/VectorControlNodeTargeted.cpp | 1 - interventions/WaningEffectBox.cpp | 4 +- interventions/WaningEffectBoxExponential.cpp | 4 +- interventions/WaningEffectCombo.cpp | 1 - interventions/WaningEffectConstant.cpp | 4 +- interventions/WaningEffectExponential.cpp | 4 +- interventions/WaningEffectMap.cpp | 5 +- interventions/WaningEffectRandomBox.cpp | 4 +- reporters/MalariaImmunityReport.cpp | 1 - reporters/MalariaPatientJSONReport.cpp | 1 - reporters/MalariaSummaryReport.cpp | 1 - reporters/MalariaSurveyJSONAnalyzer.cpp | 1 - reporters/ReportAntibodies.cpp | 1 - reporters/ReportDrugStatus.cpp | 1 - reporters/ReportEventCounter.cpp | 1 - reporters/ReportFpgNewInfections.cpp | 1 - .../ReportFpgOutputForObservationalModel.cpp | 1 - reporters/ReportHumanMigrationTracking.cpp | 1 - reporters/ReportInfectionDuration.cpp | 1 - reporters/ReportInfectionStatsMalaria.cpp | 1 - reporters/ReportInterventionPopAvg.cpp | 1 - reporters/ReportMalariaFiltered.cpp | 1 - reporters/ReportMalariaFilteredIntraHost.cpp | 1 - reporters/ReportMicrosporidia.cpp | 1 - reporters/ReportNodeDemographics.cpp | 1 - reporters/ReportNodeDemographicsMalaria.cpp | 1 - reporters/ReportPfaQueues.cpp | 1 - reporters/ReportPluginAgeAtInfection.cpp | 1 - .../ReportPluginAgeAtInfectionHistogram.cpp | 1 - reporters/ReportRelationshipCensus.cpp | 1 - .../ReportRelationshipMigrationTracking.cpp | 1 - reporters/ReportSimpleMalariaTransmission.cpp | 1 - reporters/ReportSimulationStats.cpp | 1 - reporters/ReportVectorGenetics.cpp | 1 - .../ReportVectorGeneticsMalariaGenetics.cpp | 1 - reporters/ReportVectorMigration.cpp | 1 - reporters/ReportVectorStats.cpp | 1 - .../ReportVectorStatsMalariaGenetics.cpp | 1 - reporters/SqlReport.cpp | 1 - reporters/VectorHabitatReport.cpp | 1 - .../StiRelationshipQueueReporter.cpp | 1 - utils/ConfigurationImpl.h | 177 +----------------- utils/Configure.cpp | 1 + utils/FactorySupport.h | 24 +-- utils/ISupports.h | 1 + utils/ObjectFactory.h | 2 +- utils/ObjectFactoryTemplates.h | 15 +- 136 files changed, 90 insertions(+), 379 deletions(-) diff --git a/Eradication/AdditionalRestrictions.cpp b/Eradication/AdditionalRestrictions.cpp index f446e16c2..1e0ad8a6e 100644 --- a/Eradication/AdditionalRestrictions.cpp +++ b/Eradication/AdditionalRestrictions.cpp @@ -8,7 +8,6 @@ namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(HasIntervention) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IAdditionalRestrictions) END_QUERY_INTERFACE_BODY(HasIntervention) @@ -54,7 +53,6 @@ namespace Kernel } BEGIN_QUERY_INTERFACE_BODY(HasIP) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IAdditionalRestrictions) END_QUERY_INTERFACE_BODY(HasIP) @@ -100,7 +98,6 @@ namespace Kernel BEGIN_QUERY_INTERFACE_BODY(IsPregnant) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IAdditionalRestrictions) END_QUERY_INTERFACE_BODY(IsPregnant) diff --git a/Eradication/AdditionalRestrictionsHIV.cpp b/Eradication/AdditionalRestrictionsHIV.cpp index 06f82b722..5b5b67e0c 100644 --- a/Eradication/AdditionalRestrictionsHIV.cpp +++ b/Eradication/AdditionalRestrictionsHIV.cpp @@ -9,7 +9,6 @@ namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(IsHivPositive) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IAdditionalRestrictions) END_QUERY_INTERFACE_BODY(IsHivPositive) @@ -75,7 +74,6 @@ namespace Kernel } BEGIN_QUERY_INTERFACE_BODY(IsOnART) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IAdditionalRestrictions) END_QUERY_INTERFACE_BODY(IsOnART) @@ -99,7 +97,6 @@ namespace Kernel } BEGIN_QUERY_INTERFACE_BODY(HasBeenOnArtMoreOrLessThanNumMonths) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IAdditionalRestrictions) END_QUERY_INTERFACE_BODY(HasBeenOnArtMoreOrLessThanNumMonths) @@ -147,7 +144,6 @@ namespace Kernel } BEGIN_QUERY_INTERFACE_BODY(HasCd4BetweenMinAndMax) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IAdditionalRestrictions) END_QUERY_INTERFACE_BODY(HasCd4BetweenMinAndMax) diff --git a/Eradication/AdditionalRestrictionsSTI.cpp b/Eradication/AdditionalRestrictionsSTI.cpp index a33373d22..37557f685 100644 --- a/Eradication/AdditionalRestrictionsSTI.cpp +++ b/Eradication/AdditionalRestrictionsSTI.cpp @@ -10,7 +10,6 @@ namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(IsCircumcised) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IAdditionalRestrictions) END_QUERY_INTERFACE_BODY(IsCircumcised) @@ -34,7 +33,6 @@ namespace Kernel } BEGIN_QUERY_INTERFACE_BODY(IsPostDebut) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IAdditionalRestrictions) END_QUERY_INTERFACE_BODY(IsPostDebut) @@ -58,7 +56,6 @@ namespace Kernel } BEGIN_QUERY_INTERFACE_BODY(HasMoreOrLessThanNumPartners) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IAdditionalRestrictions) END_QUERY_INTERFACE_BODY(HasMoreOrLessThanNumPartners) @@ -125,7 +122,6 @@ namespace Kernel } BEGIN_QUERY_INTERFACE_BODY(HasHadMultiplePartnersInLastNumMonths) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IAdditionalRestrictions) END_QUERY_INTERFACE_BODY(HasHadMultiplePartnersInLastNumMonths) diff --git a/Eradication/BroadcastCoordinatorEvent.cpp b/Eradication/BroadcastCoordinatorEvent.cpp index ccb5136fc..0c3b5054b 100644 --- a/Eradication/BroadcastCoordinatorEvent.cpp +++ b/Eradication/BroadcastCoordinatorEvent.cpp @@ -5,9 +5,7 @@ #endif #include "BroadcastCoordinatorEvent.h" -#include "InterventionFactory.h" #include "Log.h" -#include "EventTriggerCoordinator.h" #include "NodeEventContext.h" #include "SimulationEventContext.h" @@ -16,7 +14,8 @@ SETUP_LOGGING( "BroadcastCoordinatorEvent" ) namespace Kernel { IMPLEMENT_FACTORY_REGISTERED( BroadcastCoordinatorEvent ) - IMPL_QUERY_INTERFACE2( BroadcastCoordinatorEvent, IEventCoordinator, IConfigurable ) + BEGIN_QUERY_INTERFACE_BODY(BroadcastCoordinatorEvent) + END_QUERY_INTERFACE_BODY(BroadcastCoordinatorEvent) BroadcastCoordinatorEvent::BroadcastCoordinatorEvent() : JsonConfigurable() diff --git a/Eradication/BroadcastCoordinatorEvent.h b/Eradication/BroadcastCoordinatorEvent.h index fb254a296..002d9417f 100644 --- a/Eradication/BroadcastCoordinatorEvent.h +++ b/Eradication/BroadcastCoordinatorEvent.h @@ -20,6 +20,8 @@ namespace Kernel virtual bool Configure( const Configuration * inputJson ) override; virtual QuickBuilder GetSchema() override; + virtual IConfigurable* GetConfigurable() override { return JsonConfigurable::GetConfigurable(); } + // IEventCoordinator methods virtual void SetContextTo( ISimulationEventContext *isec ) override; virtual void CheckStartDay( float campaignStartDay ) const override { }; diff --git a/Eradication/CalendarEventCoordinator.cpp b/Eradication/CalendarEventCoordinator.cpp index f0d58ce7f..499196e69 100644 --- a/Eradication/CalendarEventCoordinator.cpp +++ b/Eradication/CalendarEventCoordinator.cpp @@ -11,8 +11,8 @@ SETUP_LOGGING( "CalendarEventCoordinator" ) namespace Kernel { IMPLEMENT_FACTORY_REGISTERED(CalendarEventCoordinator) - - IMPL_QUERY_INTERFACE2(CalendarEventCoordinator, IEventCoordinator, IConfigurable) + BEGIN_QUERY_INTERFACE_BODY(CalendarEventCoordinator) + END_QUERY_INTERFACE_BODY(CalendarEventCoordinator) CalendarEventCoordinator::CalendarEventCoordinator() : StandardInterventionDistributionEventCoordinator(false)//false=don't use standard demographic coverage diff --git a/Eradication/CampaignEvent.cpp b/Eradication/CampaignEvent.cpp index 31dd2b49c..ca917f457 100644 --- a/Eradication/CampaignEvent.cpp +++ b/Eradication/CampaignEvent.cpp @@ -11,7 +11,6 @@ #include "Log.h" #include "Configuration.h" #include "Configure.h" -#include "ConfigurationImpl.h" #include "CampaignEvent.h" #include "EventCoordinator.h" #include "FactorySupport.h" @@ -75,8 +74,8 @@ namespace Kernel // CampaignEvent IMPLEMENT_FACTORY_REGISTERED(CampaignEvent) - - IMPL_QUERY_INTERFACE1(CampaignEvent, IConfigurable) + BEGIN_QUERY_INTERFACE_BODY(CampaignEvent) + END_QUERY_INTERFACE_BODY(CampaignEvent) CampaignEvent::CampaignEvent() : start_day(0.0f) diff --git a/Eradication/CampaignEventByYear.cpp b/Eradication/CampaignEventByYear.cpp index bef797e9a..7eb819b10 100644 --- a/Eradication/CampaignEventByYear.cpp +++ b/Eradication/CampaignEventByYear.cpp @@ -14,8 +14,9 @@ namespace Kernel // // CampaignEventByYear class here. // - IMPL_QUERY_INTERFACE1(CampaignEventByYear, IConfigurable) IMPLEMENT_FACTORY_REGISTERED(CampaignEventByYear) + BEGIN_QUERY_INTERFACE_BODY(CampaignEventByYear) + END_QUERY_INTERFACE_BODY(CampaignEventByYear) CampaignEventByYear::CampaignEventByYear() { diff --git a/Eradication/CommunityHealthWorkerEventCoordinator.cpp b/Eradication/CommunityHealthWorkerEventCoordinator.cpp index f02b774e6..68ef3fb14 100644 --- a/Eradication/CommunityHealthWorkerEventCoordinator.cpp +++ b/Eradication/CommunityHealthWorkerEventCoordinator.cpp @@ -24,7 +24,8 @@ namespace Kernel // ------------------------------------------------------------------------ IMPLEMENT_FACTORY_REGISTERED(CommunityHealthWorkerEventCoordinator) - IMPL_QUERY_INTERFACE2(CommunityHealthWorkerEventCoordinator, IEventCoordinator, IConfigurable) + BEGIN_QUERY_INTERFACE_BODY(CommunityHealthWorkerEventCoordinator) + END_QUERY_INTERFACE_BODY(CommunityHealthWorkerEventCoordinator) CommunityHealthWorkerEventCoordinator::CommunityHealthWorkerEventCoordinator() : m_Parent( nullptr ) diff --git a/Eradication/CommunityHealthWorkerEventCoordinator.h b/Eradication/CommunityHealthWorkerEventCoordinator.h index d197c0d94..ce5476f2f 100644 --- a/Eradication/CommunityHealthWorkerEventCoordinator.h +++ b/Eradication/CommunityHealthWorkerEventCoordinator.h @@ -48,6 +48,8 @@ namespace Kernel virtual bool Configure( const Configuration * inputJson ) override; virtual QuickBuilder GetSchema() override; + virtual IConfigurable* GetConfigurable() override { return JsonConfigurable::GetConfigurable(); } + // IEventCoordinator methods virtual void SetContextTo( ISimulationEventContext *isec ) override; virtual void CheckStartDay( float campaignStartDay ) const override {}; diff --git a/Eradication/CoverageByNodeEventCoordinator.cpp b/Eradication/CoverageByNodeEventCoordinator.cpp index a30edc719..7f9816486 100644 --- a/Eradication/CoverageByNodeEventCoordinator.cpp +++ b/Eradication/CoverageByNodeEventCoordinator.cpp @@ -85,8 +85,8 @@ namespace Kernel // ------------------------------------------------------------------------ IMPLEMENT_FACTORY_REGISTERED(CoverageByNodeEventCoordinator) - - IMPL_QUERY_INTERFACE2(CoverageByNodeEventCoordinator, IEventCoordinator, IConfigurable) + BEGIN_QUERY_INTERFACE_BODY(CoverageByNodeEventCoordinator) + END_QUERY_INTERFACE_BODY(CoverageByNodeEventCoordinator) CoverageByNodeEventCoordinator::CoverageByNodeEventCoordinator() : StandardInterventionDistributionEventCoordinator( false )//false=don't use standard demographic coverage diff --git a/Eradication/DelayEventCoordinator.cpp b/Eradication/DelayEventCoordinator.cpp index ab1e4cfcf..bcf618df4 100644 --- a/Eradication/DelayEventCoordinator.cpp +++ b/Eradication/DelayEventCoordinator.cpp @@ -8,7 +8,8 @@ SETUP_LOGGING( "DelayEventCoordinator" ) namespace Kernel { IMPLEMENT_FACTORY_REGISTERED( DelayEventCoordinator ) - IMPL_QUERY_INTERFACE2( DelayEventCoordinator, IEventCoordinator, IConfigurable ) + BEGIN_QUERY_INTERFACE_BODY(DelayEventCoordinator) + END_QUERY_INTERFACE_BODY(DelayEventCoordinator) DelayEventCoordinator::DelayEventCoordinator() : TriggeredEventCoordinator() diff --git a/Eradication/FirstNodeWithNodePropertyEventCoordinator.cpp b/Eradication/FirstNodeWithNodePropertyEventCoordinator.cpp index aa3470f58..f415b26c7 100644 --- a/Eradication/FirstNodeWithNodePropertyEventCoordinator.cpp +++ b/Eradication/FirstNodeWithNodePropertyEventCoordinator.cpp @@ -121,7 +121,8 @@ namespace Kernel // ------------------------------------------------------------------------ IMPLEMENT_FACTORY_REGISTERED( FirstNodeWithNodePropertyEventCoordinator ) - IMPL_QUERY_INTERFACE2( FirstNodeWithNodePropertyEventCoordinator, IEventCoordinator, IConfigurable ) + BEGIN_QUERY_INTERFACE_BODY(FirstNodeWithNodePropertyEventCoordinator) + END_QUERY_INTERFACE_BODY(FirstNodeWithNodePropertyEventCoordinator) FirstNodeWithNodePropertyEventCoordinator::FirstNodeWithNodePropertyEventCoordinator() : TriggeredEventCoordinator() diff --git a/Eradication/HasRelationship.cpp b/Eradication/HasRelationship.cpp index 54796f059..6f0b1007d 100644 --- a/Eradication/HasRelationship.cpp +++ b/Eradication/HasRelationship.cpp @@ -17,7 +17,6 @@ static constexpr float DAYSPERMONTH = (DAYSPERYEAR / MONTHSPERYEAR); namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(HasRelationship) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IAdditionalRestrictions) END_QUERY_INTERFACE_BODY(HasRelationship) diff --git a/Eradication/IncidenceEventCoordinator.cpp b/Eradication/IncidenceEventCoordinator.cpp index bc887a5fb..bdb8ddb73 100644 --- a/Eradication/IncidenceEventCoordinator.cpp +++ b/Eradication/IncidenceEventCoordinator.cpp @@ -463,7 +463,6 @@ namespace Kernel IMPLEMENT_FACTORY_REGISTERED( IncidenceEventCoordinator ) BEGIN_QUERY_INTERFACE_BODY( IncidenceEventCoordinator ) - HANDLE_INTERFACE( IConfigurable ) HANDLE_INTERFACE( IEventCoordinator ) HANDLE_ISUPPORTS_VIA( IEventCoordinator ) END_QUERY_INTERFACE_BODY( IncidenceEventCoordinator ) diff --git a/Eradication/IncidenceEventCoordinator.h b/Eradication/IncidenceEventCoordinator.h index b7450bd04..9ca578d72 100644 --- a/Eradication/IncidenceEventCoordinator.h +++ b/Eradication/IncidenceEventCoordinator.h @@ -180,6 +180,8 @@ namespace Kernel virtual bool Configure( const Configuration * inputJson ) override; virtual QuickBuilder GetSchema() override; + virtual IConfigurable* GetConfigurable() override { return JsonConfigurable::GetConfigurable(); } + // IEventCoordinator methods virtual void SetContextTo( ISimulationEventContext *isec ) override; virtual void CheckStartDay( float campaignStartDay ) const override { }; diff --git a/Eradication/NChooserEventCoordinator.cpp b/Eradication/NChooserEventCoordinator.cpp index fb87c9fc2..c3c8396cd 100644 --- a/Eradication/NChooserEventCoordinator.cpp +++ b/Eradication/NChooserEventCoordinator.cpp @@ -729,7 +729,8 @@ namespace Kernel // ------------------------------------------------------------------------ IMPLEMENT_FACTORY_REGISTERED(NChooserEventCoordinator) - IMPL_QUERY_INTERFACE2(NChooserEventCoordinator, IEventCoordinator, IConfigurable) + BEGIN_QUERY_INTERFACE_BODY(NChooserEventCoordinator) + END_QUERY_INTERFACE_BODY(NChooserEventCoordinator) NChooserEventCoordinator::NChooserEventCoordinator() : m_Parent( nullptr ) diff --git a/Eradication/NChooserEventCoordinator.h b/Eradication/NChooserEventCoordinator.h index 12aae5136..3a191b5e7 100644 --- a/Eradication/NChooserEventCoordinator.h +++ b/Eradication/NChooserEventCoordinator.h @@ -244,6 +244,8 @@ namespace Kernel virtual bool Configure( const Configuration * inputJson ) override; + virtual IConfigurable* GetConfigurable() override { return JsonConfigurable::GetConfigurable(); } + // IEventCoordinator methods virtual void SetContextTo(ISimulationEventContext *isec) override; virtual void CheckStartDay( float campaignStartDay ) const override; diff --git a/Eradication/NChooserEventCoordinatorHIV.cpp b/Eradication/NChooserEventCoordinatorHIV.cpp index 0431aadc6..8cb051124 100644 --- a/Eradication/NChooserEventCoordinatorHIV.cpp +++ b/Eradication/NChooserEventCoordinatorHIV.cpp @@ -34,10 +34,6 @@ namespace Kernel // --- TargetedDistributionHIV // ------------------------------------------------------------------------ - BEGIN_QUERY_INTERFACE_DERIVED(TargetedDistributionHIV,TargetedDistributionSTI) - END_QUERY_INTERFACE_DERIVED(TargetedDistributionHIV,TargetedDistributionSTI) - - TargetedDistributionHIV::TargetedDistributionHIV( NChooserObjectFactory* pObjectFactory ) : TargetedDistributionSTI(pObjectFactory) , m_Vector2dStringDiseaseStates() @@ -225,7 +221,6 @@ namespace Kernel // ------------------------------------------------------------------------ IMPLEMENT_FACTORY_REGISTERED(NChooserEventCoordinatorHIV) - IMPL_QUERY_INTERFACE2(NChooserEventCoordinatorHIV, IEventCoordinator, IConfigurable) NChooserEventCoordinatorHIV::NChooserEventCoordinatorHIV() : NChooserEventCoordinatorSTI( new NChooserObjectFactoryHIV() ) diff --git a/Eradication/NChooserEventCoordinatorHIV.h b/Eradication/NChooserEventCoordinatorHIV.h index 906c03fdc..158330fc3 100644 --- a/Eradication/NChooserEventCoordinatorHIV.h +++ b/Eradication/NChooserEventCoordinatorHIV.h @@ -7,7 +7,6 @@ namespace Kernel { class TargetedDistributionHIV; - //struct IIndividualHumanEventContext; struct IIndividualHumanSTI; struct IIndividualHumanHIV; struct IHIVMedicalHistory; @@ -47,8 +46,6 @@ namespace Kernel class IDMAPI TargetedDistributionHIV : public TargetedDistributionSTI { public: - DECLARE_QUERY_INTERFACE() - TargetedDistributionHIV( NChooserObjectFactory* pObjectFactory ); virtual ~TargetedDistributionHIV(); @@ -96,8 +93,6 @@ namespace Kernel { DECLARE_FACTORY_REGISTERED_EXPORT(EventCoordinatorFactory, NChooserEventCoordinatorHIV, IEventCoordinator) public: - DECLARE_QUERY_INTERFACE() - NChooserEventCoordinatorHIV(); NChooserEventCoordinatorHIV( NChooserObjectFactory* pObjectFactory ); virtual ~NChooserEventCoordinatorHIV(); diff --git a/Eradication/NChooserEventCoordinatorSTI.cpp b/Eradication/NChooserEventCoordinatorSTI.cpp index 4e6341072..1b330f99b 100644 --- a/Eradication/NChooserEventCoordinatorSTI.cpp +++ b/Eradication/NChooserEventCoordinatorSTI.cpp @@ -17,7 +17,6 @@ namespace Kernel BEGIN_QUERY_INTERFACE_DERIVED(TargetedDistributionSTI,TargetedDistribution) END_QUERY_INTERFACE_DERIVED(TargetedDistributionSTI,TargetedDistribution) - TargetedDistributionSTI::TargetedDistributionSTI( NChooserObjectFactory* pObjectFactory ) : TargetedDistribution( pObjectFactory ) , m_StartYear(1900.0) @@ -118,7 +117,6 @@ namespace Kernel // ------------------------------------------------------------------------ IMPLEMENT_FACTORY_REGISTERED(NChooserEventCoordinatorSTI) - IMPL_QUERY_INTERFACE2(NChooserEventCoordinatorSTI, IEventCoordinator, IConfigurable) NChooserEventCoordinatorSTI::NChooserEventCoordinatorSTI() : NChooserEventCoordinator( new NChooserObjectFactorySTI() ) diff --git a/Eradication/NChooserEventCoordinatorSTI.h b/Eradication/NChooserEventCoordinatorSTI.h index 502d89099..662e6c4b2 100644 --- a/Eradication/NChooserEventCoordinatorSTI.h +++ b/Eradication/NChooserEventCoordinatorSTI.h @@ -57,8 +57,6 @@ namespace Kernel { DECLARE_FACTORY_REGISTERED_EXPORT(EventCoordinatorFactory, NChooserEventCoordinatorSTI, IEventCoordinator) public: - DECLARE_QUERY_INTERFACE() - NChooserEventCoordinatorSTI(); NChooserEventCoordinatorSTI( NChooserObjectFactory* pObjectFactory ); virtual ~NChooserEventCoordinatorSTI(); diff --git a/Eradication/NodeSTI.cpp b/Eradication/NodeSTI.cpp index 4cfab0066..228e85d89 100644 --- a/Eradication/NodeSTI.cpp +++ b/Eradication/NodeSTI.cpp @@ -25,7 +25,6 @@ namespace Kernel BEGIN_QUERY_INTERFACE_DERIVED(NodeSTI, Node) HANDLE_INTERFACE(INodeSTI) - HANDLE_INTERFACE(IConfigurable) END_QUERY_INTERFACE_DERIVED(NodeSTI, Node) bool NodeSTI::Configure( const Configuration* config ) diff --git a/Eradication/ReferenceTrackingEventCoordinator.cpp b/Eradication/ReferenceTrackingEventCoordinator.cpp index 02e6428bb..ae2380bd7 100644 --- a/Eradication/ReferenceTrackingEventCoordinator.cpp +++ b/Eradication/ReferenceTrackingEventCoordinator.cpp @@ -12,7 +12,8 @@ SETUP_LOGGING( "ReferenceTrackingEventCoordinator" ) namespace Kernel { IMPLEMENT_FACTORY_REGISTERED(ReferenceTrackingEventCoordinator) - IMPL_QUERY_INTERFACE2(ReferenceTrackingEventCoordinator, IEventCoordinator, IConfigurable) + BEGIN_QUERY_INTERFACE_BODY(ReferenceTrackingEventCoordinator) + END_QUERY_INTERFACE_BODY(ReferenceTrackingEventCoordinator) ReferenceTrackingEventCoordinator::ReferenceTrackingEventCoordinator() : StandardInterventionDistributionEventCoordinator( false )//false=don't use standard demographic coverage diff --git a/Eradication/ReferenceTrackingEventCoordinatorHIV.cpp b/Eradication/ReferenceTrackingEventCoordinatorHIV.cpp index ed71ad2c5..3aa59480b 100644 --- a/Eradication/ReferenceTrackingEventCoordinatorHIV.cpp +++ b/Eradication/ReferenceTrackingEventCoordinatorHIV.cpp @@ -10,7 +10,8 @@ SETUP_LOGGING( "ReferenceTrackingEventCoordinatorHIV" ) namespace Kernel { IMPLEMENT_FACTORY_REGISTERED(ReferenceTrackingEventCoordinatorHIV) - IMPL_QUERY_INTERFACE2(ReferenceTrackingEventCoordinatorHIV, IEventCoordinator, IConfigurable) + BEGIN_QUERY_INTERFACE_BODY(ReferenceTrackingEventCoordinatorHIV) + END_QUERY_INTERFACE_BODY(ReferenceTrackingEventCoordinatorHIV) ReferenceTrackingEventCoordinatorHIV::ReferenceTrackingEventCoordinatorHIV() : ReferenceTrackingEventCoordinator() diff --git a/Eradication/ReferenceTrackingEventCoordinatorTrackingConfig.cpp b/Eradication/ReferenceTrackingEventCoordinatorTrackingConfig.cpp index 98364e380..9de257527 100644 --- a/Eradication/ReferenceTrackingEventCoordinatorTrackingConfig.cpp +++ b/Eradication/ReferenceTrackingEventCoordinatorTrackingConfig.cpp @@ -15,7 +15,8 @@ SETUP_LOGGING( "ReferenceTrackingEventCoordinatorTrackingConfig" ) namespace Kernel { IMPLEMENT_FACTORY_REGISTERED(ReferenceTrackingEventCoordinatorTrackingConfig) - IMPL_QUERY_INTERFACE2(ReferenceTrackingEventCoordinatorTrackingConfig, IEventCoordinator, IConfigurable) + BEGIN_QUERY_INTERFACE_BODY(ReferenceTrackingEventCoordinatorTrackingConfig) + END_QUERY_INTERFACE_BODY(ReferenceTrackingEventCoordinatorTrackingConfig) ReferenceTrackingEventCoordinatorTrackingConfig::ReferenceTrackingEventCoordinatorTrackingConfig() : StandardInterventionDistributionEventCoordinator( false )//false=don't use standard demographic coverage diff --git a/Eradication/SimulationConfig.cpp b/Eradication/SimulationConfig.cpp index 95731063c..25d296773 100644 --- a/Eradication/SimulationConfig.cpp +++ b/Eradication/SimulationConfig.cpp @@ -74,7 +74,6 @@ support_spec_map_t& SimulationConfigFactory::getRegisteredClasses() IMPLEMENT_FACTORY_REGISTERED(SimulationConfig) BEGIN_QUERY_INTERFACE_BODY(SimulationConfig) - HANDLE_INTERFACE(IConfigurable) END_QUERY_INTERFACE_BODY(SimulationConfig) SimulationConfig::~SimulationConfig() diff --git a/Eradication/SpatialReportMalaria.cpp b/Eradication/SpatialReportMalaria.cpp index b349715db..983a51a42 100644 --- a/Eradication/SpatialReportMalaria.cpp +++ b/Eradication/SpatialReportMalaria.cpp @@ -24,7 +24,6 @@ GET_SCHEMA_STATIC_WRAPPER_IMPL(SpatialReportMalaria,SpatialReportMalaria) BEGIN_QUERY_INTERFACE_BODY( SpatialReportMalaria ) HANDLE_INTERFACE( IReportMalariaDiagnostics ) - HANDLE_INTERFACE( IConfigurable ) HANDLE_INTERFACE( IReport ) HANDLE_ISUPPORTS_VIA( IReport ) END_QUERY_INTERFACE_BODY( SpatialReportMalaria ) diff --git a/Eradication/StandardEventCoordinator.cpp b/Eradication/StandardEventCoordinator.cpp index aefcbd637..c1e96705f 100644 --- a/Eradication/StandardEventCoordinator.cpp +++ b/Eradication/StandardEventCoordinator.cpp @@ -7,7 +7,6 @@ #include "Environment.h" #include "StandardEventCoordinator.h" #include "Configuration.h" -#include "ConfigurationImpl.h" #include "FactorySupport.h" #include "InterventionFactory.h" #include "IIndividualHuman.h" @@ -30,8 +29,8 @@ namespace Kernel { IMPLEMENT_FACTORY_REGISTERED(StandardInterventionDistributionEventCoordinator) - - IMPL_QUERY_INTERFACE2(StandardInterventionDistributionEventCoordinator, IEventCoordinator, IConfigurable) + BEGIN_QUERY_INTERFACE_BODY(StandardInterventionDistributionEventCoordinator) + END_QUERY_INTERFACE_BODY(StandardInterventionDistributionEventCoordinator) // ctor StandardInterventionDistributionEventCoordinator::StandardInterventionDistributionEventCoordinator( bool useDemographicCoverage ) @@ -40,8 +39,6 @@ namespace Kernel , num_repetitions(1) , tsteps_between_reps(-1) , tsteps_since_last(0) - //, include_emigrants(false) - //, include_immigrants(false) , intervention_activated(false) , cached_nodes() , node_suids() @@ -78,9 +75,6 @@ namespace Kernel InitializeIndividualSelectionType( inputJson ); } - //initConfigTypeMap("Include_Departures", &include_emigrants, Include_Departures_DESC_TEXT, false ); - //initConfigTypeMap("Include_Arrivals", &include_immigrants, Include_Arrivals_DESC_TEXT, false ); - demographic_restrictions.ConfigureRestrictions( this, inputJson ); initConfigComplexType( "Node_Property_Restrictions", &node_property_restrictions, Node_Property_Restrictions_DESC_TEXT ); @@ -216,20 +210,6 @@ namespace Kernel // Store uids and node (event context) pointers node_suids.push_back(node_suid); cached_nodes.push_back(parent->GetNodeEventContext(node_suid)); - -#if 0 - INodeEventContext * pNec = parent->GetNodeEventContext(node_suid); - // Register unconditionally to be notified when individuals arrive at our node so we can zap them! - // TODO: Make this param driven - if( include_immigrants ) - { - pNec->RegisterTravelDistributionSource( this, INodeEventContext::Arrival ); - } - if( include_emigrants ) - { - pNec->RegisterTravelDistributionSource( this, INodeEventContext::Departure ); - } -#endif } void StandardInterventionDistributionEventCoordinator::Update( float dt ) diff --git a/Eradication/StandardEventCoordinator.h b/Eradication/StandardEventCoordinator.h index 11e891e07..4778dc420 100644 --- a/Eradication/StandardEventCoordinator.h +++ b/Eradication/StandardEventCoordinator.h @@ -31,6 +31,8 @@ namespace Kernel StandardInterventionDistributionEventCoordinator( bool useDemographicCoverage = true ); virtual ~StandardInterventionDistributionEventCoordinator(); + virtual IConfigurable* GetConfigurable() override { return JsonConfigurable::GetConfigurable(); } + // IEventCoordinator virtual void SetContextTo(ISimulationEventContext *isec); virtual void CheckStartDay( float campaignStartDay ) const override {}; diff --git a/Eradication/TargetingLogic.cpp b/Eradication/TargetingLogic.cpp index 4a16b3ad3..5f7e13bcc 100644 --- a/Eradication/TargetingLogic.cpp +++ b/Eradication/TargetingLogic.cpp @@ -118,7 +118,6 @@ namespace Kernel // ------------------------------------------------------------------------ BEGIN_QUERY_INTERFACE_BODY(TargetingLogic) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IAdditionalRestrictions) END_QUERY_INTERFACE_BODY(TargetingLogic) diff --git a/Eradication/TriggeredEventCoordinator.cpp b/Eradication/TriggeredEventCoordinator.cpp index ab9b6f39d..de0f682c9 100644 --- a/Eradication/TriggeredEventCoordinator.cpp +++ b/Eradication/TriggeredEventCoordinator.cpp @@ -1,7 +1,6 @@ #include "stdafx.h" #include "TriggeredEventCoordinator.h" -#include "InterventionFactory.h" #include "SimulationEventContext.h" SETUP_LOGGING( "TriggeredEventCoordinator" ) @@ -9,7 +8,8 @@ SETUP_LOGGING( "TriggeredEventCoordinator" ) namespace Kernel { IMPLEMENT_FACTORY_REGISTERED( TriggeredEventCoordinator ) - IMPL_QUERY_INTERFACE2( TriggeredEventCoordinator, IEventCoordinator, IConfigurable ) + BEGIN_QUERY_INTERFACE_BODY(TriggeredEventCoordinator) + END_QUERY_INTERFACE_BODY(TriggeredEventCoordinator) TriggeredEventCoordinator::TriggeredEventCoordinator() : StandardInterventionDistributionEventCoordinator( true ) diff --git a/Eradication/VectorSurveillanceEventCoordinator.cpp b/Eradication/VectorSurveillanceEventCoordinator.cpp index 43d6279f4..8dcd4bcb1 100644 --- a/Eradication/VectorSurveillanceEventCoordinator.cpp +++ b/Eradication/VectorSurveillanceEventCoordinator.cpp @@ -25,7 +25,8 @@ namespace Kernel // --- VectorCounter // ------------------------------------------------------------------------ - IMPL_QUERY_INTERFACE1( VectorCounter, IConfigurable ) + BEGIN_QUERY_INTERFACE_BODY(VectorCounter) + END_QUERY_INTERFACE_BODY(VectorCounter) VectorCounter::VectorCounter() : JsonConfigurable() @@ -488,7 +489,8 @@ namespace Kernel // --- VectorResponder // ------------------------------------------------------------------------ - IMPL_QUERY_INTERFACE1( VectorResponder, IConfigurable ) + BEGIN_QUERY_INTERFACE_BODY(VectorResponder) + END_QUERY_INTERFACE_BODY(VectorResponder) #define PYTHON_FUNC_NAME_CREATE "create_responder" #define PYTHON_FUNC_NAME_DELETE "delete_responder" @@ -671,7 +673,6 @@ namespace Kernel BEGIN_QUERY_INTERFACE_BODY( VectorSurveillanceEventCoordinator ) HANDLE_INTERFACE( IEventCoordinatorEventContext ) HANDLE_INTERFACE( ICoordinatorEventObserver ) - HANDLE_INTERFACE( IConfigurable ) HANDLE_INTERFACE( IEventCoordinator ) HANDLE_ISUPPORTS_VIA( IEventCoordinator ) END_QUERY_INTERFACE_BODY( VectorSurveillanceEventCoordinator ) diff --git a/campaign/Interventions.h b/campaign/Interventions.h index 92648fea5..fc898865c 100644 --- a/campaign/Interventions.h +++ b/campaign/Interventions.h @@ -115,6 +115,8 @@ namespace Kernel // IReportInterventionData virtual ReportInterventionData GetReportInterventionData() const override; + virtual IConfigurable* GetConfigurable() override { return JsonConfigurable::GetConfigurable(); } + protected: BaseIntervention(); BaseIntervention( const BaseIntervention& ); @@ -149,6 +151,8 @@ namespace Kernel virtual void SetExpired( bool isExpired ) override; virtual void SetContextTo( INodeEventContext *context ) override; + virtual IConfigurable* GetConfigurable() override { return JsonConfigurable::GetConfigurable(); } + // IReportInterventionData virtual ReportInterventionData GetReportInterventionData() const override; diff --git a/campaign/NodeSet.h b/campaign/NodeSet.h index f9db89cc6..ef6f2b403 100644 --- a/campaign/NodeSet.h +++ b/campaign/NodeSet.h @@ -39,6 +39,8 @@ namespace Kernel virtual bool Contains(INodeEventContext *ndc); virtual std::vector IsSubset(const std::vector& demographic_node_ids); + virtual IConfigurable* GetConfigurable() override { return JsonConfigurable::GetConfigurable(); } + protected: DECLARE_SERIALIZABLE(NodeSetAll); }; @@ -56,6 +58,8 @@ namespace Kernel virtual bool Contains(INodeEventContext *ndc); virtual std::vector IsSubset(const std::vector& demographic_node_ids); + virtual IConfigurable* GetConfigurable() override { return JsonConfigurable::GetConfigurable(); } + protected: std::vector nodelist; }; diff --git a/campaign/NodeSetAll.cpp b/campaign/NodeSetAll.cpp index 21f4d3a4b..279fb6755 100644 --- a/campaign/NodeSetAll.cpp +++ b/campaign/NodeSetAll.cpp @@ -8,7 +8,8 @@ namespace Kernel { // NodeSetAll IMPLEMENT_FACTORY_REGISTERED(NodeSetAll) - IMPL_QUERY_INTERFACE2(NodeSetAll, INodeSet, IConfigurable) + BEGIN_QUERY_INTERFACE_BODY(NodeSetAll) + END_QUERY_INTERFACE_BODY(NodeSetAll) bool NodeSetAll::Configure(const Configuration * pInputJson) { diff --git a/campaign/NodeSetNodeList.cpp b/campaign/NodeSetNodeList.cpp index a34a31861..4a1dba231 100644 --- a/campaign/NodeSetNodeList.cpp +++ b/campaign/NodeSetNodeList.cpp @@ -9,7 +9,8 @@ SETUP_LOGGING( "NodeSetNodeList" ) namespace Kernel { IMPLEMENT_FACTORY_REGISTERED(NodeSetNodeList) - IMPL_QUERY_INTERFACE2(NodeSetNodeList, INodeSet, IConfigurable) + BEGIN_QUERY_INTERFACE_BODY(NodeSetNodeList) + END_QUERY_INTERFACE_BODY(NodeSetNodeList) bool NodeSetNodeList::Configure(const Configuration* inputJson) { diff --git a/interventions/ARTDropout.cpp b/interventions/ARTDropout.cpp index 1abfb9410..bf0caef15 100644 --- a/interventions/ARTDropout.cpp +++ b/interventions/ARTDropout.cpp @@ -14,7 +14,6 @@ SETUP_LOGGING( "ARTDropout" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY( ARTDropout ) - HANDLE_INTERFACE( IConfigurable ) HANDLE_INTERFACE( IDistributableIntervention ) HANDLE_INTERFACE( IBaseIntervention ) HANDLE_ISUPPORTS_VIA( IDistributableIntervention ) diff --git a/interventions/AbstractDecision.cpp b/interventions/AbstractDecision.cpp index 239191f4b..5758218ab 100644 --- a/interventions/AbstractDecision.cpp +++ b/interventions/AbstractDecision.cpp @@ -10,7 +10,6 @@ SETUP_LOGGING( "AbstractDecision" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY( AbstractDecision ) - HANDLE_INTERFACE( IConfigurable ) HANDLE_INTERFACE( IDistributableIntervention ) HANDLE_INTERFACE( IBaseIntervention ) HANDLE_ISUPPORTS_VIA( IDistributableIntervention ) diff --git a/interventions/AbstractSocietyOverrideIntervention.cpp b/interventions/AbstractSocietyOverrideIntervention.cpp index 106b468bf..159074d99 100644 --- a/interventions/AbstractSocietyOverrideIntervention.cpp +++ b/interventions/AbstractSocietyOverrideIntervention.cpp @@ -12,7 +12,6 @@ SETUP_LOGGING( "AbstractSocietyOverrideIntervention" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(AbstractSocietyOverrideIntervention) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(ISocietyOverrideIntervention) HANDLE_INTERFACE(INodeDistributableIntervention) HANDLE_INTERFACE(IBaseIntervention) diff --git a/interventions/AntiretroviralTherapy.cpp b/interventions/AntiretroviralTherapy.cpp index df1f6e344..55bd3d253 100644 --- a/interventions/AntiretroviralTherapy.cpp +++ b/interventions/AntiretroviralTherapy.cpp @@ -34,7 +34,6 @@ SETUP_LOGGING( "AntiretroviralTherapy" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY( AntiretroviralTherapy ) - HANDLE_INTERFACE( IConfigurable ) HANDLE_INTERFACE( IDistributableIntervention ) HANDLE_INTERFACE( IBaseIntervention ) HANDLE_ISUPPORTS_VIA( IDistributableIntervention ) diff --git a/interventions/Bednet.cpp b/interventions/Bednet.cpp index 6f94d90c5..0f857f441 100644 --- a/interventions/Bednet.cpp +++ b/interventions/Bednet.cpp @@ -21,7 +21,6 @@ namespace Kernel BEGIN_QUERY_INTERFACE_BODY( AbstractBednet ) HANDLE_INTERFACE( IAbstractBednet ) HANDLE_INTERFACE( IReportInterventionDataAccess ) - HANDLE_INTERFACE( IConfigurable ) HANDLE_INTERFACE( IDistributableIntervention ) HANDLE_ISUPPORTS_VIA( IDistributableIntervention ) END_QUERY_INTERFACE_BODY( AbstractBednet ) diff --git a/interventions/BirthTriggeredIV.cpp b/interventions/BirthTriggeredIV.cpp index 16829a83b..b3d92e0b8 100644 --- a/interventions/BirthTriggeredIV.cpp +++ b/interventions/BirthTriggeredIV.cpp @@ -15,7 +15,6 @@ SETUP_LOGGING( "BirthTriggeredIV" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(BirthTriggeredIV) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(INodeDistributableIntervention) HANDLE_INTERFACE(IBaseIntervention) HANDLE_INTERFACE(IIndividualEventObserver) diff --git a/interventions/BitingRisk.cpp b/interventions/BitingRisk.cpp index c479485d4..06487b400 100644 --- a/interventions/BitingRisk.cpp +++ b/interventions/BitingRisk.cpp @@ -13,7 +13,6 @@ namespace Kernel IMPLEMENT_FACTORY_REGISTERED( BitingRisk ) BEGIN_QUERY_INTERFACE_BODY( BitingRisk ) - HANDLE_INTERFACE( IConfigurable ) HANDLE_INTERFACE( IDistributableIntervention ) HANDLE_ISUPPORTS_VIA( IDistributableIntervention ) END_QUERY_INTERFACE_BODY( BitingRisk ) diff --git a/interventions/BroadcastCoordinatorEventFromNode.cpp b/interventions/BroadcastCoordinatorEventFromNode.cpp index 7eed31927..cd20739a1 100644 --- a/interventions/BroadcastCoordinatorEventFromNode.cpp +++ b/interventions/BroadcastCoordinatorEventFromNode.cpp @@ -52,7 +52,6 @@ namespace Kernel BEGIN_QUERY_INTERFACE_BODY(BroadcastCoordinatorEventFromNode) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(INodeDistributableIntervention) HANDLE_INTERFACE(IBaseIntervention) HANDLE_ISUPPORTS_VIA(INodeDistributableIntervention) diff --git a/interventions/BroadcastEvent.cpp b/interventions/BroadcastEvent.cpp index 1fb5e767e..aebaa942f 100644 --- a/interventions/BroadcastEvent.cpp +++ b/interventions/BroadcastEvent.cpp @@ -11,7 +11,6 @@ SETUP_LOGGING( "BroadcastEvent" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(BroadcastEvent) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IDistributableIntervention) HANDLE_INTERFACE(IBaseIntervention) HANDLE_ISUPPORTS_VIA(IDistributableIntervention) diff --git a/interventions/BroadcastEventToOtherNodes.cpp b/interventions/BroadcastEventToOtherNodes.cpp index dd13c7f9f..bda34c874 100644 --- a/interventions/BroadcastEventToOtherNodes.cpp +++ b/interventions/BroadcastEventToOtherNodes.cpp @@ -14,7 +14,6 @@ SETUP_LOGGING( "BroadcastEventToOtherNodes" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(BroadcastEventToOtherNodes) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IDistributableIntervention) HANDLE_INTERFACE(IBaseIntervention) HANDLE_ISUPPORTS_VIA(IDistributableIntervention) diff --git a/interventions/BroadcastNodeEvent.cpp b/interventions/BroadcastNodeEvent.cpp index 544e2c509..e50979c94 100644 --- a/interventions/BroadcastNodeEvent.cpp +++ b/interventions/BroadcastNodeEvent.cpp @@ -10,7 +10,6 @@ SETUP_LOGGING( "BroadcastNodeEvent" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY( BroadcastNodeEvent ) - HANDLE_INTERFACE( IConfigurable ) HANDLE_INTERFACE( INodeDistributableIntervention ) HANDLE_INTERFACE( IBaseIntervention ) HANDLE_ISUPPORTS_VIA( INodeDistributableIntervention ) diff --git a/interventions/CalendarIV.cpp b/interventions/CalendarIV.cpp index 081d389ed..e5223a990 100644 --- a/interventions/CalendarIV.cpp +++ b/interventions/CalendarIV.cpp @@ -83,7 +83,6 @@ namespace Kernel BEGIN_QUERY_INTERFACE_BODY(IVCalendar) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IDistributableIntervention) HANDLE_ISUPPORTS_VIA(IDistributableIntervention) HANDLE_ISUPPORTS_VIA(IBaseIntervention) diff --git a/interventions/CoitalActRiskFactors.cpp b/interventions/CoitalActRiskFactors.cpp index fdbd8479d..bb9146443 100644 --- a/interventions/CoitalActRiskFactors.cpp +++ b/interventions/CoitalActRiskFactors.cpp @@ -16,7 +16,6 @@ SETUP_LOGGING( "CoitalActRisk" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY( CoitalActRiskFactors ) - HANDLE_INTERFACE( IConfigurable ) HANDLE_INTERFACE( IDistributableIntervention ) HANDLE_ISUPPORTS_VIA( IDistributableIntervention ) END_QUERY_INTERFACE_BODY( CoitalActRiskFactors ) diff --git a/interventions/DelayedIntervention.cpp b/interventions/DelayedIntervention.cpp index b819648b1..2a46ad83d 100644 --- a/interventions/DelayedIntervention.cpp +++ b/interventions/DelayedIntervention.cpp @@ -15,7 +15,6 @@ SETUP_LOGGING( "DelayedIntervention" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(DelayedIntervention) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IBaseIntervention) HANDLE_INTERFACE(IDistributableIntervention) HANDLE_ISUPPORTS_VIA(IDistributableIntervention) diff --git a/interventions/Diagnostics.cpp b/interventions/Diagnostics.cpp index ab91c1284..199a7b34c 100644 --- a/interventions/Diagnostics.cpp +++ b/interventions/Diagnostics.cpp @@ -13,7 +13,6 @@ SETUP_LOGGING( "SimpleDiagnostic" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(SimpleDiagnostic) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IDistributableIntervention) HANDLE_INTERFACE(IBaseIntervention) HANDLE_ISUPPORTS_VIA(IDistributableIntervention) diff --git a/interventions/Drugs.cpp b/interventions/Drugs.cpp index b1e60bb65..f538f4101 100644 --- a/interventions/Drugs.cpp +++ b/interventions/Drugs.cpp @@ -11,7 +11,6 @@ SETUP_LOGGING( "GenericDrug" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(GenericDrug) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IDistributableIntervention) HANDLE_INTERFACE(IDrug) HANDLE_INTERFACE(IBaseIntervention) diff --git a/interventions/FemaleContraceptive.cpp b/interventions/FemaleContraceptive.cpp index 30089bb67..9f8268a4e 100644 --- a/interventions/FemaleContraceptive.cpp +++ b/interventions/FemaleContraceptive.cpp @@ -13,7 +13,6 @@ SETUP_LOGGING( "FemaleContraceptive" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(FemaleContraceptive) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IDistributableIntervention) HANDLE_INTERFACE(IBaseIntervention) HANDLE_ISUPPORTS_VIA(IDistributableIntervention) diff --git a/interventions/HIVPiecewiseByYearAndSexDiagnostic.cpp b/interventions/HIVPiecewiseByYearAndSexDiagnostic.cpp index ecccdb890..856efa070 100644 --- a/interventions/HIVPiecewiseByYearAndSexDiagnostic.cpp +++ b/interventions/HIVPiecewiseByYearAndSexDiagnostic.cpp @@ -18,7 +18,6 @@ SETUP_LOGGING( "HIVPiecewiseByYearAndSexDiagnostic" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(HIVPiecewiseByYearAndSexDiagnostic) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IDistributableIntervention) HANDLE_INTERFACE(IBaseIntervention) HANDLE_ISUPPORTS_VIA(IDistributableIntervention) diff --git a/interventions/HIVRandomChoice.cpp b/interventions/HIVRandomChoice.cpp index 56cb4f9ff..db2ee0d94 100644 --- a/interventions/HIVRandomChoice.cpp +++ b/interventions/HIVRandomChoice.cpp @@ -13,7 +13,6 @@ SETUP_LOGGING( "HIVRandomChoice" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY( HIVRandomChoice ) - HANDLE_INTERFACE( IConfigurable ) HANDLE_INTERFACE( IDistributableIntervention ) HANDLE_INTERFACE( IBaseIntervention ) HANDLE_ISUPPORTS_VIA( IDistributableIntervention ) diff --git a/interventions/HIVSigmoidByYearAndSexDiagnostic.cpp b/interventions/HIVSigmoidByYearAndSexDiagnostic.cpp index 3e8e8dac3..96eef28d5 100644 --- a/interventions/HIVSigmoidByYearAndSexDiagnostic.cpp +++ b/interventions/HIVSigmoidByYearAndSexDiagnostic.cpp @@ -14,7 +14,6 @@ SETUP_LOGGING( "HIVSigmoidByYearAndSexDiagnostic" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(HIVSigmoidByYearAndSexDiagnostic) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IDistributableIntervention) //HANDLE_INTERFACE(IHealthSeekingBehavior) HANDLE_INTERFACE(IBaseIntervention) diff --git a/interventions/HealthSeekingBehavior.cpp b/interventions/HealthSeekingBehavior.cpp index a68674df7..b0cb31477 100644 --- a/interventions/HealthSeekingBehavior.cpp +++ b/interventions/HealthSeekingBehavior.cpp @@ -15,7 +15,6 @@ SETUP_LOGGING( "SimpleHealthSeekingBehavior" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(SimpleHealthSeekingBehavior) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IBaseIntervention) HANDLE_INTERFACE(IDistributableIntervention) HANDLE_ISUPPORTS_VIA(IDistributableIntervention) diff --git a/interventions/HousingModification.cpp b/interventions/HousingModification.cpp index 1ef23b0d5..5d08e6b88 100644 --- a/interventions/HousingModification.cpp +++ b/interventions/HousingModification.cpp @@ -15,7 +15,6 @@ namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(SimpleHousingModification) HANDLE_INTERFACE( IReportInterventionDataAccess ) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IDistributableIntervention) HANDLE_ISUPPORTS_VIA(IDistributableIntervention) END_QUERY_INTERFACE_BODY(SimpleHousingModification) diff --git a/interventions/HumanHostSeekingTrap.cpp b/interventions/HumanHostSeekingTrap.cpp index 3937df752..fc6f2359e 100644 --- a/interventions/HumanHostSeekingTrap.cpp +++ b/interventions/HumanHostSeekingTrap.cpp @@ -14,7 +14,6 @@ namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(HumanHostSeekingTrap) HANDLE_INTERFACE( IReportInterventionDataAccess ) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IDistributableIntervention) HANDLE_ISUPPORTS_VIA(IDistributableIntervention) END_QUERY_INTERFACE_BODY(HumanHostSeekingTrap) diff --git a/interventions/ImportPressure.cpp b/interventions/ImportPressure.cpp index 858921d03..994c553cc 100644 --- a/interventions/ImportPressure.cpp +++ b/interventions/ImportPressure.cpp @@ -12,7 +12,6 @@ SETUP_LOGGING( "ImportPressure" ); namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(ImportPressure) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(INodeDistributableIntervention) HANDLE_ISUPPORTS_VIA(INodeDistributableIntervention) END_QUERY_INTERFACE_BODY(ImportPressure) diff --git a/interventions/IndividualImmunityChanger.cpp b/interventions/IndividualImmunityChanger.cpp index 73496480e..872477260 100644 --- a/interventions/IndividualImmunityChanger.cpp +++ b/interventions/IndividualImmunityChanger.cpp @@ -17,7 +17,6 @@ namespace Kernel IMPLEMENT_FACTORY_REGISTERED(IndividualImmunityChanger) BEGIN_QUERY_INTERFACE_BODY(IndividualImmunityChanger) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IBaseIntervention) HANDLE_INTERFACE(IIndividualImmunityChanger) HANDLE_INTERFACE(IDistributableIntervention) diff --git a/interventions/IndividualNonDiseaseDeathRateModifier.cpp b/interventions/IndividualNonDiseaseDeathRateModifier.cpp index 1279a57b6..56b1ba80b 100644 --- a/interventions/IndividualNonDiseaseDeathRateModifier.cpp +++ b/interventions/IndividualNonDiseaseDeathRateModifier.cpp @@ -13,7 +13,6 @@ SETUP_LOGGING( "IndividualNonDiseaseDeathRateModifier" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(IndividualNonDiseaseDeathRateModifier) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IDistributableIntervention) HANDLE_INTERFACE(IBaseIntervention) HANDLE_ISUPPORTS_VIA(IDistributableIntervention) diff --git a/interventions/IndividualRepellent.cpp b/interventions/IndividualRepellent.cpp index 518ca0e1d..fbe2a0912 100644 --- a/interventions/IndividualRepellent.cpp +++ b/interventions/IndividualRepellent.cpp @@ -12,7 +12,6 @@ namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(SimpleIndividualRepellent) HANDLE_INTERFACE( IReportInterventionDataAccess ) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IDistributableIntervention) HANDLE_ISUPPORTS_VIA(IDistributableIntervention) END_QUERY_INTERFACE_BODY(SimpleIndividualRepellent) diff --git a/interventions/InputEIR.cpp b/interventions/InputEIR.cpp index 800dcfa90..567c81e41 100644 --- a/interventions/InputEIR.cpp +++ b/interventions/InputEIR.cpp @@ -13,7 +13,6 @@ namespace Kernel float ACTUALDAYSPERMONTH = float( DAYSPERYEAR ) / MONTHSPERYEAR; // 30.416666 BEGIN_QUERY_INTERFACE_BODY(InputEIR) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IBaseIntervention) HANDLE_INTERFACE(INodeDistributableIntervention) HANDLE_ISUPPORTS_VIA(INodeDistributableIntervention) diff --git a/interventions/InsecticideWaningEffect.cpp b/interventions/InsecticideWaningEffect.cpp index 51d3a148d..349aa2993 100644 --- a/interventions/InsecticideWaningEffect.cpp +++ b/interventions/InsecticideWaningEffect.cpp @@ -12,7 +12,8 @@ namespace Kernel // --- InsecticideWaningEffect // ------------------------------------------------------------------------ - IMPL_QUERY_INTERFACE2(InsecticideWaningEffect, IInsecticideWaningEffect, IConfigurable) + BEGIN_QUERY_INTERFACE_BODY(InsecticideWaningEffect) + END_QUERY_INTERFACE_BODY(InsecticideWaningEffect) InsecticideWaningEffect::InsecticideWaningEffect() : InsecticideWaningEffect( false, false, false, false ) @@ -260,7 +261,8 @@ namespace Kernel // --- InsecticideWaningEffectCollection // ------------------------------------------------------------------------ - IMPL_QUERY_INTERFACE2( InsecticideWaningEffectCollection, IInsecticideWaningEffect, IConfigurable ) + BEGIN_QUERY_INTERFACE_BODY(InsecticideWaningEffectCollection) + END_QUERY_INTERFACE_BODY(InsecticideWaningEffectCollection) InsecticideWaningEffectCollection::InsecticideWaningEffectCollection() : InsecticideWaningEffectCollection( false, false, false, false ) diff --git a/interventions/InterventionForCurrentPartners.cpp b/interventions/InterventionForCurrentPartners.cpp index 7081eaf1e..f0525f15f 100644 --- a/interventions/InterventionForCurrentPartners.cpp +++ b/interventions/InterventionForCurrentPartners.cpp @@ -19,7 +19,6 @@ SETUP_LOGGING( "InterventionForCurrentPartners" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY( InterventionForCurrentPartners ) - HANDLE_INTERFACE( IConfigurable ) HANDLE_INTERFACE( IDistributableIntervention ) HANDLE_ISUPPORTS_VIA( IDistributableIntervention ) END_QUERY_INTERFACE_BODY( InterventionForCurrentPartners ) diff --git a/interventions/Ivermectin.cpp b/interventions/Ivermectin.cpp index 51a119a93..e75ec2043 100644 --- a/interventions/Ivermectin.cpp +++ b/interventions/Ivermectin.cpp @@ -14,7 +14,6 @@ namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(Ivermectin) HANDLE_INTERFACE( IReportInterventionDataAccess ) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IDistributableIntervention) HANDLE_ISUPPORTS_VIA(IDistributableIntervention) END_QUERY_INTERFACE_BODY(Ivermectin) diff --git a/interventions/MalariaChallenge.cpp b/interventions/MalariaChallenge.cpp index d6ccf0104..6aa1b7063 100644 --- a/interventions/MalariaChallenge.cpp +++ b/interventions/MalariaChallenge.cpp @@ -10,7 +10,6 @@ SETUP_LOGGING( "MalariaChallenge" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(MalariaChallenge) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IBaseIntervention) HANDLE_INTERFACE(INodeDistributableIntervention) HANDLE_ISUPPORTS_VIA(INodeDistributableIntervention) diff --git a/interventions/MaleCircumcision.cpp b/interventions/MaleCircumcision.cpp index 326887e4d..0636f27a1 100644 --- a/interventions/MaleCircumcision.cpp +++ b/interventions/MaleCircumcision.cpp @@ -16,7 +16,6 @@ namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(MaleCircumcision) HANDLE_INTERFACE( ICircumcision ) - HANDLE_INTERFACE( IConfigurable ) HANDLE_INTERFACE(IDistributableIntervention) HANDLE_ISUPPORTS_VIA(IDistributableIntervention) END_QUERY_INTERFACE_BODY(MaleCircumcision) diff --git a/interventions/MigrateFamily.cpp b/interventions/MigrateFamily.cpp index 696888ced..e786a487f 100644 --- a/interventions/MigrateFamily.cpp +++ b/interventions/MigrateFamily.cpp @@ -12,7 +12,6 @@ SETUP_LOGGING( "MigrateFamily" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(MigrateFamily) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(INodeDistributableIntervention) HANDLE_INTERFACE(IBaseIntervention) HANDLE_ISUPPORTS_VIA(INodeDistributableIntervention) diff --git a/interventions/MigrateIndividuals.cpp b/interventions/MigrateIndividuals.cpp index 9537466f5..28c181ced 100644 --- a/interventions/MigrateIndividuals.cpp +++ b/interventions/MigrateIndividuals.cpp @@ -15,7 +15,6 @@ SETUP_LOGGING( "MigrateIndividuals" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(MigrateIndividuals) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IDistributableIntervention) HANDLE_INTERFACE(IBaseIntervention) HANDLE_ISUPPORTS_VIA(IDistributableIntervention) diff --git a/interventions/ModifyStiCoInfectionStatus.cpp b/interventions/ModifyStiCoInfectionStatus.cpp index 60c3e95a9..1f93e42f6 100644 --- a/interventions/ModifyStiCoInfectionStatus.cpp +++ b/interventions/ModifyStiCoInfectionStatus.cpp @@ -13,7 +13,6 @@ SETUP_LOGGING( "ModifyStiCoInfectionStatus" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(ModifyStiCoInfectionStatus) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IDistributableIntervention) HANDLE_ISUPPORTS_VIA(IDistributableIntervention) END_QUERY_INTERFACE_BODY(ModifyStiCoInfectionStatus) diff --git a/interventions/MosquitoRelease.cpp b/interventions/MosquitoRelease.cpp index 6fc1f5429..bd5a1b822 100644 --- a/interventions/MosquitoRelease.cpp +++ b/interventions/MosquitoRelease.cpp @@ -14,7 +14,6 @@ SETUP_LOGGING( "MosquitoRelease" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(MosquitoRelease) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IBaseIntervention) HANDLE_INTERFACE(INodeDistributableIntervention) HANDLE_ISUPPORTS_VIA(INodeDistributableIntervention) diff --git a/interventions/MultiEffectVaccine.cpp b/interventions/MultiEffectVaccine.cpp index 9bbae664c..aa63bc0b8 100644 --- a/interventions/MultiEffectVaccine.cpp +++ b/interventions/MultiEffectVaccine.cpp @@ -8,7 +8,6 @@ SETUP_LOGGING( "MultiEffectVaccine" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(MultiEffectVaccine) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IDistributableIntervention) HANDLE_INTERFACE(IVaccine) HANDLE_INTERFACE(IBaseIntervention) diff --git a/interventions/MultiInterventionDistributor.cpp b/interventions/MultiInterventionDistributor.cpp index 1aa221e5e..2ad528f1f 100644 --- a/interventions/MultiInterventionDistributor.cpp +++ b/interventions/MultiInterventionDistributor.cpp @@ -10,7 +10,6 @@ SETUP_LOGGING( "MultiInterventionDistributor" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(MultiInterventionDistributor) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IBaseIntervention) HANDLE_INTERFACE(IDistributableIntervention) HANDLE_ISUPPORTS_VIA(IDistributableIntervention) diff --git a/interventions/MultiNodeInterventionDistributor.cpp b/interventions/MultiNodeInterventionDistributor.cpp index a7c70e161..1afe87e4d 100644 --- a/interventions/MultiNodeInterventionDistributor.cpp +++ b/interventions/MultiNodeInterventionDistributor.cpp @@ -9,7 +9,6 @@ SETUP_LOGGING( "MultiNodeInterventionDistributor" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY( MultiNodeInterventionDistributor ) - HANDLE_INTERFACE( IConfigurable ) HANDLE_INTERFACE( IBaseIntervention ) HANDLE_INTERFACE( INodeDistributableIntervention ) HANDLE_ISUPPORTS_VIA( INodeDistributableIntervention ) diff --git a/interventions/NLHTIVNode.cpp b/interventions/NLHTIVNode.cpp index 31627e555..edc63607f 100644 --- a/interventions/NLHTIVNode.cpp +++ b/interventions/NLHTIVNode.cpp @@ -14,7 +14,6 @@ SETUP_LOGGING( "NLHTIVNode" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(NLHTIVNode) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IBaseIntervention) HANDLE_INTERFACE(INodeDistributableIntervention) HANDLE_INTERFACE(INodeEventObserver) diff --git a/interventions/NodeLevelHealthTriggeredIV.cpp b/interventions/NodeLevelHealthTriggeredIV.cpp index caaa90623..959e6ba3f 100644 --- a/interventions/NodeLevelHealthTriggeredIV.cpp +++ b/interventions/NodeLevelHealthTriggeredIV.cpp @@ -17,7 +17,6 @@ SETUP_LOGGING( "NodeLevelHealthTriggeredIV" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(NodeLevelHealthTriggeredIV) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IBaseIntervention) HANDLE_INTERFACE(INodeDistributableIntervention) HANDLE_INTERFACE(IIndividualEventObserver) diff --git a/interventions/NodePropertyValueChanger.cpp b/interventions/NodePropertyValueChanger.cpp index e27923090..5d5a00f9c 100644 --- a/interventions/NodePropertyValueChanger.cpp +++ b/interventions/NodePropertyValueChanger.cpp @@ -16,7 +16,6 @@ namespace Kernel IMPLEMENT_FACTORY_REGISTERED( NodePropertyValueChanger ) BEGIN_QUERY_INTERFACE_BODY( NodePropertyValueChanger ) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE( IBaseIntervention ) HANDLE_INTERFACE(INodeDistributableIntervention) HANDLE_ISUPPORTS_VIA( INodeDistributableIntervention ) diff --git a/interventions/Outbreak.cpp b/interventions/Outbreak.cpp index 26691103b..b7f15e262 100644 --- a/interventions/Outbreak.cpp +++ b/interventions/Outbreak.cpp @@ -19,7 +19,6 @@ SETUP_LOGGING( "Outbreak" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(Outbreak) - HANDLE_INTERFACE(IConfigurable) //HANDLE_INTERFACE(IDistributableIntervention) HANDLE_INTERFACE(IBaseIntervention) HANDLE_INTERFACE(INodeDistributableIntervention) diff --git a/interventions/OutbreakIndividual.cpp b/interventions/OutbreakIndividual.cpp index 585b7f656..c97fad09d 100644 --- a/interventions/OutbreakIndividual.cpp +++ b/interventions/OutbreakIndividual.cpp @@ -18,7 +18,6 @@ SETUP_LOGGING( "OutbreakIndividual" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(OutbreakIndividual) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IDistributableIntervention) HANDLE_INTERFACE(IOutbreakIndividual) HANDLE_ISUPPORTS_VIA(IDistributableIntervention) diff --git a/interventions/PMTCT.cpp b/interventions/PMTCT.cpp index a4b90760a..71ab45da6 100644 --- a/interventions/PMTCT.cpp +++ b/interventions/PMTCT.cpp @@ -10,7 +10,6 @@ SETUP_LOGGING( "PMTCT" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(PMTCT) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IDistributableIntervention) HANDLE_ISUPPORTS_VIA(IDistributableIntervention) END_QUERY_INTERFACE_BODY(PMTCT) diff --git a/interventions/PropertyValueChanger.cpp b/interventions/PropertyValueChanger.cpp index cb28ee635..7cc354a5d 100644 --- a/interventions/PropertyValueChanger.cpp +++ b/interventions/PropertyValueChanger.cpp @@ -18,7 +18,6 @@ namespace Kernel IMPLEMENT_FACTORY_REGISTERED(PropertyValueChanger) BEGIN_QUERY_INTERFACE_BODY(PropertyValueChanger) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IBaseIntervention) HANDLE_INTERFACE(IDistributableIntervention) HANDLE_ISUPPORTS_VIA(IDistributableIntervention) diff --git a/interventions/RTSSVaccine.cpp b/interventions/RTSSVaccine.cpp index 89258c879..7c0c49d5e 100644 --- a/interventions/RTSSVaccine.cpp +++ b/interventions/RTSSVaccine.cpp @@ -11,7 +11,6 @@ SETUP_LOGGING( "RTSSVaccine" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(RTSSVaccine) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IDistributableIntervention) HANDLE_ISUPPORTS_VIA(IDistributableIntervention) END_QUERY_INTERFACE_BODY(RTSSVaccine) diff --git a/interventions/STIBarrier.cpp b/interventions/STIBarrier.cpp index ed77c212c..4399aeac6 100644 --- a/interventions/STIBarrier.cpp +++ b/interventions/STIBarrier.cpp @@ -21,7 +21,6 @@ SETUP_LOGGING( "STIBarrier" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(STIBarrier) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IDistributableIntervention) HANDLE_ISUPPORTS_VIA(IDistributableIntervention) END_QUERY_INTERFACE_BODY(STIBarrier) diff --git a/interventions/SetSexualDebutAge.cpp b/interventions/SetSexualDebutAge.cpp index a897e1c69..6a907a24e 100644 --- a/interventions/SetSexualDebutAge.cpp +++ b/interventions/SetSexualDebutAge.cpp @@ -13,7 +13,6 @@ SETUP_LOGGING( "SetSexualDebugAge" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY( SetSexualDebutAge ) - HANDLE_INTERFACE( IConfigurable ) HANDLE_INTERFACE( IDistributableIntervention ) HANDLE_ISUPPORTS_VIA( IDistributableIntervention ) END_QUERY_INTERFACE_BODY( SetSexualDebutAge ) diff --git a/interventions/SimpleVaccine.cpp b/interventions/SimpleVaccine.cpp index 86553fdd4..8a2c9b11b 100644 --- a/interventions/SimpleVaccine.cpp +++ b/interventions/SimpleVaccine.cpp @@ -12,7 +12,6 @@ SETUP_LOGGING( "SimpleVaccine" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(SimpleVaccine) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IDistributableIntervention) HANDLE_INTERFACE( IReportInterventionDataAccess ) HANDLE_INTERFACE(IVaccine) diff --git a/interventions/StartNewRelationship.cpp b/interventions/StartNewRelationship.cpp index 28a87a5f3..b3e29f2b9 100644 --- a/interventions/StartNewRelationship.cpp +++ b/interventions/StartNewRelationship.cpp @@ -16,7 +16,6 @@ SETUP_LOGGING( "StartNewRelationship" ) namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(StartNewRelationship) - HANDLE_INTERFACE(IConfigurable) HANDLE_INTERFACE(IDistributableIntervention) HANDLE_INTERFACE(INonPfaRelationshipStarter) HANDLE_ISUPPORTS_VIA(IDistributableIntervention) diff --git a/interventions/VectorControlNodeTargeted.cpp b/interventions/VectorControlNodeTargeted.cpp index 47bb5531b..f72038f5e 100644 --- a/interventions/VectorControlNodeTargeted.cpp +++ b/interventions/VectorControlNodeTargeted.cpp @@ -17,7 +17,6 @@ namespace Kernel { BEGIN_QUERY_INTERFACE_BODY(SimpleVectorControlNode) HANDLE_INTERFACE( IReportInterventionDataAccess ) - HANDLE_INTERFACE( IConfigurable ) HANDLE_INTERFACE(INodeDistributableIntervention) HANDLE_INTERFACE(IBaseIntervention) HANDLE_ISUPPORTS_VIA(INodeDistributableIntervention) diff --git a/interventions/WaningEffectBox.cpp b/interventions/WaningEffectBox.cpp index adad2529a..b68b778ef 100644 --- a/interventions/WaningEffectBox.cpp +++ b/interventions/WaningEffectBox.cpp @@ -3,7 +3,6 @@ #include "WaningEffect.h" #include "CajunIncludes.h" -#include "ConfigurationImpl.h" SETUP_LOGGING( "WaningEffectBox" ) @@ -11,7 +10,8 @@ namespace Kernel { // --------------------------- WaningEffectBox --------------------------- IMPLEMENT_FACTORY_REGISTERED(WaningEffectBox) - IMPL_QUERY_INTERFACE2(WaningEffectBox, IWaningEffect, IConfigurable) + BEGIN_QUERY_INTERFACE_BODY(WaningEffectBox) + END_QUERY_INTERFACE_BODY(WaningEffectBox) WaningEffectBox::WaningEffectBox() : WaningEffectConstant() diff --git a/interventions/WaningEffectBoxExponential.cpp b/interventions/WaningEffectBoxExponential.cpp index 74ac07b3b..818edfa6e 100644 --- a/interventions/WaningEffectBoxExponential.cpp +++ b/interventions/WaningEffectBoxExponential.cpp @@ -3,7 +3,6 @@ #include "WaningEffect.h" #include "CajunIncludes.h" -#include "ConfigurationImpl.h" SETUP_LOGGING( "WaningEffectBoxExponential" ) @@ -11,7 +10,8 @@ namespace Kernel { // --------------------------- WaningEffectBoxExponential --------------------------- IMPLEMENT_FACTORY_REGISTERED(WaningEffectBoxExponential) - IMPL_QUERY_INTERFACE2(WaningEffectBoxExponential, IWaningEffect, IConfigurable) + BEGIN_QUERY_INTERFACE_BODY(WaningEffectBoxExponential) + END_QUERY_INTERFACE_BODY(WaningEffectBoxExponential) WaningEffectBoxExponential::WaningEffectBoxExponential() : WaningEffectConstant() diff --git a/interventions/WaningEffectCombo.cpp b/interventions/WaningEffectCombo.cpp index 43c79ce0b..57cefe74b 100644 --- a/interventions/WaningEffectCombo.cpp +++ b/interventions/WaningEffectCombo.cpp @@ -96,7 +96,6 @@ namespace Kernel IMPLEMENT_FACTORY_REGISTERED( WaningEffectCombo ) BEGIN_QUERY_INTERFACE_BODY( WaningEffectCombo ) - HANDLE_INTERFACE( IConfigurable ) HANDLE_INTERFACE( IWaningEffect ) HANDLE_INTERFACE( IWaningEffectCount ) HANDLE_ISUPPORTS_VIA( IWaningEffect ) diff --git a/interventions/WaningEffectConstant.cpp b/interventions/WaningEffectConstant.cpp index 7e0da382d..8e85247ed 100644 --- a/interventions/WaningEffectConstant.cpp +++ b/interventions/WaningEffectConstant.cpp @@ -3,14 +3,14 @@ #include "WaningEffect.h" #include "CajunIncludes.h" -#include "ConfigurationImpl.h" SETUP_LOGGING( "WaningEffectConstant" ) namespace Kernel { IMPLEMENT_FACTORY_REGISTERED(WaningEffectConstant) - IMPL_QUERY_INTERFACE2(WaningEffectConstant, IWaningEffect, IConfigurable) + BEGIN_QUERY_INTERFACE_BODY(WaningEffectConstant) + END_QUERY_INTERFACE_BODY(WaningEffectConstant) WaningEffectConstant::WaningEffectConstant() : IWaningEffect() diff --git a/interventions/WaningEffectExponential.cpp b/interventions/WaningEffectExponential.cpp index 9616a0498..99648e647 100644 --- a/interventions/WaningEffectExponential.cpp +++ b/interventions/WaningEffectExponential.cpp @@ -3,7 +3,6 @@ #include "WaningEffect.h" #include "CajunIncludes.h" -#include "ConfigurationImpl.h" #include "IArchive.h" SETUP_LOGGING( "WaningEffectExponential" ) @@ -12,7 +11,8 @@ namespace Kernel { // --------------------------- WaningEffectExponential --------------------------- IMPLEMENT_FACTORY_REGISTERED(WaningEffectExponential) - IMPL_QUERY_INTERFACE2(WaningEffectExponential, IWaningEffect, IConfigurable) + BEGIN_QUERY_INTERFACE_BODY(WaningEffectExponential) + END_QUERY_INTERFACE_BODY(WaningEffectExponential) WaningEffectExponential::WaningEffectExponential() : WaningEffectConstant() diff --git a/interventions/WaningEffectMap.cpp b/interventions/WaningEffectMap.cpp index 744825cb6..0cb2df73d 100644 --- a/interventions/WaningEffectMap.cpp +++ b/interventions/WaningEffectMap.cpp @@ -3,7 +3,6 @@ #include "WaningEffectMap.h" #include "CajunIncludes.h" -#include "ConfigurationImpl.h" #include "IArchive.h" SETUP_LOGGING( "WaningEffectMapAbstract" ) @@ -13,7 +12,9 @@ namespace Kernel // ------------------------------------------------------------------------ // --- WaningEffectMapLinear // ------------------------------------------------------------------------ - IMPL_QUERY_INTERFACE2(WaningEffectMapAbstract, IWaningEffect, IConfigurable) + + BEGIN_QUERY_INTERFACE_BODY(WaningEffectMapAbstract) + END_QUERY_INTERFACE_BODY(WaningEffectMapAbstract) WaningEffectMapAbstract::WaningEffectMapAbstract( float maxTime ) : WaningEffectConstant() diff --git a/interventions/WaningEffectRandomBox.cpp b/interventions/WaningEffectRandomBox.cpp index cfbc3f873..383614e42 100644 --- a/interventions/WaningEffectRandomBox.cpp +++ b/interventions/WaningEffectRandomBox.cpp @@ -3,7 +3,6 @@ #include "WaningEffectRandomBox.h" #include "CajunIncludes.h" -#include "ConfigurationImpl.h" #include "IArchive.h" #include "IIndividualHumanContext.h" #include "RANDOM.h" @@ -16,7 +15,8 @@ namespace Kernel // --- WaningEffectRandomBox // ------------------------------------------------------------------------ IMPLEMENT_FACTORY_REGISTERED(WaningEffectRandomBox) - IMPL_QUERY_INTERFACE2(WaningEffectRandomBox, IWaningEffect, IConfigurable) + BEGIN_QUERY_INTERFACE_BODY(WaningEffectRandomBox) + END_QUERY_INTERFACE_BODY(WaningEffectRandomBox) WaningEffectRandomBox::WaningEffectRandomBox() : WaningEffectConstant() diff --git a/reporters/MalariaImmunityReport.cpp b/reporters/MalariaImmunityReport.cpp index 734decb2c..669526656 100644 --- a/reporters/MalariaImmunityReport.cpp +++ b/reporters/MalariaImmunityReport.cpp @@ -160,7 +160,6 @@ GetReportInstantiator( Kernel::instantiator_function_t* pif ) // ---------------------------------------- BEGIN_QUERY_INTERFACE_BODY( MalariaImmunityReport ) - HANDLE_INTERFACE( IConfigurable ) HANDLE_INTERFACE( IReport ) HANDLE_ISUPPORTS_VIA( IReport ) END_QUERY_INTERFACE_BODY( MalariaImmunityReport ) diff --git a/reporters/MalariaPatientJSONReport.cpp b/reporters/MalariaPatientJSONReport.cpp index e6ef5738d..8d9982e37 100644 --- a/reporters/MalariaPatientJSONReport.cpp +++ b/reporters/MalariaPatientJSONReport.cpp @@ -188,7 +188,6 @@ GetReportInstantiator( Kernel::instantiator_function_t* pif ) // ---------------------------------------- BEGIN_QUERY_INTERFACE_BODY( MalariaPatientJSONReport ) HANDLE_INTERFACE( IReportMalariaDiagnostics ) - HANDLE_INTERFACE( IConfigurable ) HANDLE_INTERFACE( IReport ) HANDLE_ISUPPORTS_VIA( IReport ) END_QUERY_INTERFACE_BODY( MalariaPatientJSONReport ) diff --git a/reporters/MalariaSummaryReport.cpp b/reporters/MalariaSummaryReport.cpp index 284025d0c..4e46b251a 100644 --- a/reporters/MalariaSummaryReport.cpp +++ b/reporters/MalariaSummaryReport.cpp @@ -374,7 +374,6 @@ GetReportInstantiator( Kernel::instantiator_function_t* pif ) BEGIN_QUERY_INTERFACE_BODY( MalariaSummaryReport ) HANDLE_INTERFACE( IReportMalariaDiagnostics ) - HANDLE_INTERFACE( IConfigurable ) HANDLE_INTERFACE( IReport ) HANDLE_ISUPPORTS_VIA( IReport ) END_QUERY_INTERFACE_BODY( MalariaSummaryReport ) diff --git a/reporters/MalariaSurveyJSONAnalyzer.cpp b/reporters/MalariaSurveyJSONAnalyzer.cpp index c52e29e96..40f1eadc6 100644 --- a/reporters/MalariaSurveyJSONAnalyzer.cpp +++ b/reporters/MalariaSurveyJSONAnalyzer.cpp @@ -304,7 +304,6 @@ GetReportInstantiator( Kernel::instantiator_function_t* pif ) BEGIN_QUERY_INTERFACE_BODY( MalariaSurveyJSONAnalyzer ) HANDLE_INTERFACE( IReportMalariaDiagnostics ) - HANDLE_INTERFACE( IConfigurable ) HANDLE_INTERFACE( IReport ) HANDLE_ISUPPORTS_VIA( IReport ) END_QUERY_INTERFACE_BODY( MalariaSurveyJSONAnalyzer ) diff --git a/reporters/ReportAntibodies.cpp b/reporters/ReportAntibodies.cpp index d73e714a1..63d40d6d0 100644 --- a/reporters/ReportAntibodies.cpp +++ b/reporters/ReportAntibodies.cpp @@ -20,7 +20,6 @@ namespace Kernel BEGIN_QUERY_INTERFACE_DERIVED( ReportAntibodies, BaseTextReport ) HANDLE_INTERFACE( IReport ) - HANDLE_INTERFACE( IConfigurable ) END_QUERY_INTERFACE_DERIVED( ReportAntibodies, BaseTextReport ) IMPLEMENT_FACTORY_REGISTERED( ReportAntibodies ) diff --git a/reporters/ReportDrugStatus.cpp b/reporters/ReportDrugStatus.cpp index 3e54dc090..7316b123b 100644 --- a/reporters/ReportDrugStatus.cpp +++ b/reporters/ReportDrugStatus.cpp @@ -20,7 +20,6 @@ namespace Kernel BEGIN_QUERY_INTERFACE_DERIVED( ReportDrugStatus, BaseTextReport ) HANDLE_INTERFACE( IReport ) - HANDLE_INTERFACE( IConfigurable ) END_QUERY_INTERFACE_DERIVED( ReportDrugStatus, BaseTextReport ) IMPLEMENT_FACTORY_REGISTERED( ReportDrugStatus ) diff --git a/reporters/ReportEventCounter.cpp b/reporters/ReportEventCounter.cpp index b607c1592..c0b95dddf 100644 --- a/reporters/ReportEventCounter.cpp +++ b/reporters/ReportEventCounter.cpp @@ -60,7 +60,6 @@ GetReportInstantiator( Kernel::instantiator_function_t* pif ) BEGIN_QUERY_INTERFACE_DERIVED( ReportEventCounter, BaseEventReport ) HANDLE_INTERFACE( IReport ) - HANDLE_INTERFACE( IConfigurable ) END_QUERY_INTERFACE_DERIVED( ReportEventCounter, BaseEventReport ) #ifndef _REPORT_DLL diff --git a/reporters/ReportFpgNewInfections.cpp b/reporters/ReportFpgNewInfections.cpp index c33b0d5c8..0ef527d8c 100644 --- a/reporters/ReportFpgNewInfections.cpp +++ b/reporters/ReportFpgNewInfections.cpp @@ -32,7 +32,6 @@ namespace Kernel BEGIN_QUERY_INTERFACE_DERIVED( ReportFpgNewInfections, BaseTextReportEvents ) HANDLE_INTERFACE( IReport ) - HANDLE_INTERFACE( IConfigurable ) END_QUERY_INTERFACE_DERIVED( ReportFpgNewInfections, BaseTextReportEvents ) IMPLEMENT_FACTORY_REGISTERED( ReportFpgNewInfections ) diff --git a/reporters/ReportFpgOutputForObservationalModel.cpp b/reporters/ReportFpgOutputForObservationalModel.cpp index 92db011ab..e3ec030c8 100644 --- a/reporters/ReportFpgOutputForObservationalModel.cpp +++ b/reporters/ReportFpgOutputForObservationalModel.cpp @@ -26,7 +26,6 @@ namespace Kernel BEGIN_QUERY_INTERFACE_DERIVED( ReportFpgOutputForObservationalModel, BaseTextReport ) HANDLE_INTERFACE( IReport ) - HANDLE_INTERFACE( IConfigurable ) END_QUERY_INTERFACE_DERIVED( ReportFpgOutputForObservationalModel, BaseTextReport ) IMPLEMENT_FACTORY_REGISTERED( ReportFpgOutputForObservationalModel ) diff --git a/reporters/ReportHumanMigrationTracking.cpp b/reporters/ReportHumanMigrationTracking.cpp index c38e94664..67fe6af77 100644 --- a/reporters/ReportHumanMigrationTracking.cpp +++ b/reporters/ReportHumanMigrationTracking.cpp @@ -70,7 +70,6 @@ GetReportInstantiator( Kernel::instantiator_function_t* pif ) BEGIN_QUERY_INTERFACE_DERIVED( ReportHumanMigrationTracking, BaseTextReportEvents ) HANDLE_INTERFACE( IReport ) - HANDLE_INTERFACE( IConfigurable ) END_QUERY_INTERFACE_DERIVED( ReportHumanMigrationTracking, BaseTextReportEvents ) #ifndef _REPORT_DLL diff --git a/reporters/ReportInfectionDuration.cpp b/reporters/ReportInfectionDuration.cpp index 7bf3fa6b9..32b1da604 100644 --- a/reporters/ReportInfectionDuration.cpp +++ b/reporters/ReportInfectionDuration.cpp @@ -18,7 +18,6 @@ namespace Kernel BEGIN_QUERY_INTERFACE_DERIVED( ReportInfectionDuration, BaseTextReport ) HANDLE_INTERFACE( IReport ) - HANDLE_INTERFACE( IConfigurable ) END_QUERY_INTERFACE_DERIVED( ReportInfectionDuration, BaseTextReport ) IMPLEMENT_FACTORY_REGISTERED( ReportInfectionDuration ) diff --git a/reporters/ReportInfectionStatsMalaria.cpp b/reporters/ReportInfectionStatsMalaria.cpp index 0f80dfa01..dc5535a4a 100644 --- a/reporters/ReportInfectionStatsMalaria.cpp +++ b/reporters/ReportInfectionStatsMalaria.cpp @@ -19,7 +19,6 @@ namespace Kernel BEGIN_QUERY_INTERFACE_DERIVED( ReportInfectionStatsMalaria, BaseTextReport ) HANDLE_INTERFACE( IReport ) - HANDLE_INTERFACE( IConfigurable ) END_QUERY_INTERFACE_DERIVED( ReportInfectionStatsMalaria, BaseTextReport ) IMPLEMENT_FACTORY_REGISTERED( ReportInfectionStatsMalaria ) diff --git a/reporters/ReportInterventionPopAvg.cpp b/reporters/ReportInterventionPopAvg.cpp index 0978481ab..9d441255e 100644 --- a/reporters/ReportInterventionPopAvg.cpp +++ b/reporters/ReportInterventionPopAvg.cpp @@ -21,7 +21,6 @@ namespace Kernel BEGIN_QUERY_INTERFACE_DERIVED( ReportInterventionPopAvg, BaseTextReport ) HANDLE_INTERFACE( IReport ) - HANDLE_INTERFACE( IConfigurable ) END_QUERY_INTERFACE_DERIVED( ReportInterventionPopAvg, BaseTextReport ) IMPLEMENT_FACTORY_REGISTERED( ReportInterventionPopAvg ) diff --git a/reporters/ReportMalariaFiltered.cpp b/reporters/ReportMalariaFiltered.cpp index a7dd950e0..a4eb859c1 100644 --- a/reporters/ReportMalariaFiltered.cpp +++ b/reporters/ReportMalariaFiltered.cpp @@ -83,7 +83,6 @@ GetReportInstantiator( Kernel::instantiator_function_t* pif ) BEGIN_QUERY_INTERFACE_DERIVED( ReportMalariaFiltered, ReportMalaria ) HANDLE_INTERFACE( IReport ) - HANDLE_INTERFACE( IConfigurable ) END_QUERY_INTERFACE_DERIVED( ReportMalariaFiltered, ReportMalaria ) #ifndef _REPORT_DLL diff --git a/reporters/ReportMalariaFilteredIntraHost.cpp b/reporters/ReportMalariaFilteredIntraHost.cpp index 72a3c6225..c3b005129 100644 --- a/reporters/ReportMalariaFilteredIntraHost.cpp +++ b/reporters/ReportMalariaFilteredIntraHost.cpp @@ -15,7 +15,6 @@ namespace Kernel BEGIN_QUERY_INTERFACE_DERIVED( ReportMalariaFilteredIntraHost, ReportMalariaFiltered ) HANDLE_INTERFACE( IReport ) - HANDLE_INTERFACE( IConfigurable ) END_QUERY_INTERFACE_DERIVED( ReportMalariaFilteredIntraHost, ReportMalariaFiltered ) IMPLEMENT_FACTORY_REGISTERED( ReportMalariaFilteredIntraHost ) diff --git a/reporters/ReportMicrosporidia.cpp b/reporters/ReportMicrosporidia.cpp index 6466375e9..d7d3d5cc2 100644 --- a/reporters/ReportMicrosporidia.cpp +++ b/reporters/ReportMicrosporidia.cpp @@ -28,7 +28,6 @@ namespace Kernel BEGIN_QUERY_INTERFACE_DERIVED( ReportMicrosporidia, BaseTextReport ) HANDLE_INTERFACE( IReport ) - HANDLE_INTERFACE( IConfigurable ) END_QUERY_INTERFACE_DERIVED( ReportMicrosporidia, BaseTextReport ) IMPLEMENT_FACTORY_REGISTERED( ReportMicrosporidia ) diff --git a/reporters/ReportNodeDemographics.cpp b/reporters/ReportNodeDemographics.cpp index 15370671c..a1465fb2c 100644 --- a/reporters/ReportNodeDemographics.cpp +++ b/reporters/ReportNodeDemographics.cpp @@ -19,7 +19,6 @@ namespace Kernel { BEGIN_QUERY_INTERFACE_DERIVED( ReportNodeDemographics, BaseTextReport ) HANDLE_INTERFACE( IReport ) - HANDLE_INTERFACE( IConfigurable ) END_QUERY_INTERFACE_DERIVED( ReportNodeDemographics, BaseTextReport ) #ifndef _REPORT_DLL diff --git a/reporters/ReportNodeDemographicsMalaria.cpp b/reporters/ReportNodeDemographicsMalaria.cpp index 003d68034..e59d9279e 100644 --- a/reporters/ReportNodeDemographicsMalaria.cpp +++ b/reporters/ReportNodeDemographicsMalaria.cpp @@ -72,7 +72,6 @@ GetReportInstantiator( Kernel::instantiator_function_t* pif ) BEGIN_QUERY_INTERFACE_DERIVED( ReportNodeDemographicsMalaria, ReportNodeDemographics ) HANDLE_INTERFACE( IReportMalariaDiagnostics ) HANDLE_INTERFACE( IReport ) - HANDLE_INTERFACE( IConfigurable ) END_QUERY_INTERFACE_DERIVED( ReportNodeDemographicsMalaria, ReportNodeDemographics ) #ifndef _REPORT_DLL IMPLEMENT_FACTORY_REGISTERED( ReportNodeDemographicsMalaria ) diff --git a/reporters/ReportPfaQueues.cpp b/reporters/ReportPfaQueues.cpp index 7724f4933..6e5f439df 100644 --- a/reporters/ReportPfaQueues.cpp +++ b/reporters/ReportPfaQueues.cpp @@ -33,7 +33,6 @@ namespace Kernel BEGIN_QUERY_INTERFACE_DERIVED( ReportPfaQueues, BaseTextReport ) HANDLE_INTERFACE( IReport ) - HANDLE_INTERFACE( IConfigurable ) END_QUERY_INTERFACE_DERIVED( ReportPfaQueues, BaseTextReport ) IMPLEMENT_FACTORY_REGISTERED( ReportPfaQueues ) diff --git a/reporters/ReportPluginAgeAtInfection.cpp b/reporters/ReportPluginAgeAtInfection.cpp index 823184790..77ab84867 100644 --- a/reporters/ReportPluginAgeAtInfection.cpp +++ b/reporters/ReportPluginAgeAtInfection.cpp @@ -99,7 +99,6 @@ namespace Kernel BEGIN_QUERY_INTERFACE_DERIVED( ReportPluginAgeAtInfection, BaseChannelReport ) HANDLE_INTERFACE( IReport ) - HANDLE_INTERFACE( IConfigurable ) END_QUERY_INTERFACE_DERIVED( ReportPluginAgeAtInfection, BaseChannelReport ) #ifndef _REPORT_DLL diff --git a/reporters/ReportPluginAgeAtInfectionHistogram.cpp b/reporters/ReportPluginAgeAtInfectionHistogram.cpp index 1fb1c8b14..192ee9f0f 100644 --- a/reporters/ReportPluginAgeAtInfectionHistogram.cpp +++ b/reporters/ReportPluginAgeAtInfectionHistogram.cpp @@ -101,7 +101,6 @@ namespace Kernel BEGIN_QUERY_INTERFACE_DERIVED( ReportPluginAgeAtInfectionHistogram, BaseChannelReport ) HANDLE_INTERFACE( IReport ) - HANDLE_INTERFACE( IConfigurable ) END_QUERY_INTERFACE_DERIVED( ReportPluginAgeAtInfectionHistogram, BaseChannelReport ) #ifndef _REPORT_DLL diff --git a/reporters/ReportRelationshipCensus.cpp b/reporters/ReportRelationshipCensus.cpp index d3fdb1b1b..e4b12f238 100644 --- a/reporters/ReportRelationshipCensus.cpp +++ b/reporters/ReportRelationshipCensus.cpp @@ -106,7 +106,6 @@ GetReportInstantiator( Kernel::instantiator_function_t* pif ) BEGIN_QUERY_INTERFACE_DERIVED( ReportRelationshipCensus, BaseTextReportEvents ) HANDLE_INTERFACE( IReport ) - HANDLE_INTERFACE( IConfigurable ) END_QUERY_INTERFACE_DERIVED( ReportRelationshipCensus, BaseTextReportEvents ) #ifndef _REPORT_DLL diff --git a/reporters/ReportRelationshipMigrationTracking.cpp b/reporters/ReportRelationshipMigrationTracking.cpp index da7aea8ee..bdd767919 100644 --- a/reporters/ReportRelationshipMigrationTracking.cpp +++ b/reporters/ReportRelationshipMigrationTracking.cpp @@ -91,7 +91,6 @@ GetReportInstantiator( Kernel::instantiator_function_t* pif ) BEGIN_QUERY_INTERFACE_DERIVED( ReportRelationshipMigrationTracking, BaseTextReport ) HANDLE_INTERFACE( IReport ) - HANDLE_INTERFACE( IConfigurable ) END_QUERY_INTERFACE_DERIVED( ReportRelationshipMigrationTracking, BaseTextReport ) #ifndef _REPORT_DLL diff --git a/reporters/ReportSimpleMalariaTransmission.cpp b/reporters/ReportSimpleMalariaTransmission.cpp index fa03545c2..2b7749f69 100644 --- a/reporters/ReportSimpleMalariaTransmission.cpp +++ b/reporters/ReportSimpleMalariaTransmission.cpp @@ -32,7 +32,6 @@ namespace Kernel BEGIN_QUERY_INTERFACE_DERIVED( ReportSimpleMalariaTransmission, BaseTextReportEvents ) HANDLE_INTERFACE( IReportMalariaDiagnostics ) HANDLE_INTERFACE( IReport ) - HANDLE_INTERFACE( IConfigurable ) END_QUERY_INTERFACE_DERIVED( ReportSimpleMalariaTransmission, BaseTextReportEvents ) IMPLEMENT_FACTORY_REGISTERED( ReportSimpleMalariaTransmission ) diff --git a/reporters/ReportSimulationStats.cpp b/reporters/ReportSimulationStats.cpp index 1af909b89..101574d55 100644 --- a/reporters/ReportSimulationStats.cpp +++ b/reporters/ReportSimulationStats.cpp @@ -20,7 +20,6 @@ namespace Kernel { BEGIN_QUERY_INTERFACE_DERIVED( ReportSimulationStats, BaseTextReport ) HANDLE_INTERFACE( IReport ) - HANDLE_INTERFACE( IConfigurable ) END_QUERY_INTERFACE_DERIVED( ReportSimulationStats, BaseTextReport ) IMPLEMENT_FACTORY_REGISTERED( ReportSimulationStats ) diff --git a/reporters/ReportVectorGenetics.cpp b/reporters/ReportVectorGenetics.cpp index c64ab2751..3258ccbb3 100644 --- a/reporters/ReportVectorGenetics.cpp +++ b/reporters/ReportVectorGenetics.cpp @@ -170,7 +170,6 @@ namespace Kernel BEGIN_QUERY_INTERFACE_DERIVED( ReportVectorGenetics, BaseTextReport ) HANDLE_INTERFACE( IReport ) - HANDLE_INTERFACE( IConfigurable ) END_QUERY_INTERFACE_DERIVED( ReportVectorGenetics, BaseTextReport ) #ifndef _REPORT_DLL diff --git a/reporters/ReportVectorGeneticsMalariaGenetics.cpp b/reporters/ReportVectorGeneticsMalariaGenetics.cpp index 4cc95dd2e..9b3cf9ec0 100644 --- a/reporters/ReportVectorGeneticsMalariaGenetics.cpp +++ b/reporters/ReportVectorGeneticsMalariaGenetics.cpp @@ -29,7 +29,6 @@ namespace Kernel BEGIN_QUERY_INTERFACE_DERIVED( ReportVectorGeneticsMalariaGenetics, ReportVectorGenetics ) HANDLE_INTERFACE( IReport ) - HANDLE_INTERFACE( IConfigurable ) END_QUERY_INTERFACE_DERIVED( ReportVectorGeneticsMalariaGenetics, ReportVectorGenetics ) IMPLEMENT_FACTORY_REGISTERED( ReportVectorGeneticsMalariaGenetics ) diff --git a/reporters/ReportVectorMigration.cpp b/reporters/ReportVectorMigration.cpp index aee854be7..b89d8cab9 100644 --- a/reporters/ReportVectorMigration.cpp +++ b/reporters/ReportVectorMigration.cpp @@ -77,7 +77,6 @@ GetReportInstantiator( Kernel::instantiator_function_t* pif ) BEGIN_QUERY_INTERFACE_DERIVED( ReportVectorMigration, BaseTextReport ) HANDLE_INTERFACE( IVectorMigrationReporting ) HANDLE_INTERFACE( IReport ) - HANDLE_INTERFACE( IConfigurable ) END_QUERY_INTERFACE_DERIVED( ReportVectorMigration, BaseTextReport ) #ifndef _REPORT_DLL diff --git a/reporters/ReportVectorStats.cpp b/reporters/ReportVectorStats.cpp index 6f591584c..8a7a371b1 100644 --- a/reporters/ReportVectorStats.cpp +++ b/reporters/ReportVectorStats.cpp @@ -457,7 +457,6 @@ namespace Kernel BEGIN_QUERY_INTERFACE_DERIVED( ReportVectorStats, BaseTextReportEvents ) HANDLE_INTERFACE( IReport ) - HANDLE_INTERFACE( IConfigurable ) END_QUERY_INTERFACE_DERIVED( ReportVectorStats, BaseTextReportEvents ) #ifndef _REPORT_DLL diff --git a/reporters/ReportVectorStatsMalariaGenetics.cpp b/reporters/ReportVectorStatsMalariaGenetics.cpp index ca34d384c..4773b24ba 100644 --- a/reporters/ReportVectorStatsMalariaGenetics.cpp +++ b/reporters/ReportVectorStatsMalariaGenetics.cpp @@ -18,7 +18,6 @@ namespace Kernel { BEGIN_QUERY_INTERFACE_DERIVED( ReportVectorStatsMalariaGenetics, ReportVectorStats ) HANDLE_INTERFACE( IReport ) - HANDLE_INTERFACE( IConfigurable ) END_QUERY_INTERFACE_DERIVED( ReportVectorStatsMalariaGenetics, ReportVectorStats ) IMPLEMENT_FACTORY_REGISTERED( ReportVectorStatsMalariaGenetics ) diff --git a/reporters/SqlReport.cpp b/reporters/SqlReport.cpp index 7537982d3..8c8d324df 100644 --- a/reporters/SqlReport.cpp +++ b/reporters/SqlReport.cpp @@ -181,7 +181,6 @@ namespace Kernel // ---------------------------------------- BEGIN_QUERY_INTERFACE_BODY( SqlReport ) - HANDLE_INTERFACE( IConfigurable ) HANDLE_INTERFACE( IReport ) HANDLE_ISUPPORTS_VIA( IReport ) END_QUERY_INTERFACE_BODY( SqlReport ) diff --git a/reporters/VectorHabitatReport.cpp b/reporters/VectorHabitatReport.cpp index 30c0183ec..ab5872b2b 100644 --- a/reporters/VectorHabitatReport.cpp +++ b/reporters/VectorHabitatReport.cpp @@ -75,7 +75,6 @@ namespace Kernel BEGIN_QUERY_INTERFACE_DERIVED( VectorHabitatReport, BinnedReport ) HANDLE_INTERFACE( IReport ) - HANDLE_INTERFACE( IConfigurable ) END_QUERY_INTERFACE_DERIVED( VectorHabitatReport, BinnedReport ) #ifndef _REPORT_DLL diff --git a/reporters/libstirelationshipqueuereporter/StiRelationshipQueueReporter.cpp b/reporters/libstirelationshipqueuereporter/StiRelationshipQueueReporter.cpp index 21027eee6..e60c83208 100644 --- a/reporters/libstirelationshipqueuereporter/StiRelationshipQueueReporter.cpp +++ b/reporters/libstirelationshipqueuereporter/StiRelationshipQueueReporter.cpp @@ -81,7 +81,6 @@ namespace Kernel { BEGIN_QUERY_INTERFACE_DERIVED( StiRelationshipQueueReporter, BaseTextReport ) HANDLE_INTERFACE( IReport ) - HANDLE_INTERFACE( IConfigurable ) END_QUERY_INTERFACE_DERIVED( StiRelationshipQueueReporter, BaseTextReport ) StiRelationshipQueueReporter::StiRelationshipQueueReporter() diff --git a/utils/ConfigurationImpl.h b/utils/ConfigurationImpl.h index d0de2b1ea..398144094 100644 --- a/utils/ConfigurationImpl.h +++ b/utils/ConfigurationImpl.h @@ -10,53 +10,6 @@ namespace Kernel { - namespace MetadataDescriptor - { - struct Enum; // forward decl - } - - struct ConfigurationImpl // overloaded functions wrapping config retrieval - { - static void get_config_value(const Configuration* config, std::string name, float *value) - { - *value = GET_CONFIG_NUMBER(config, name); - } - - static void get_config_value(const Configuration* config, std::string name, std::string *value) - { - *value = GET_CONFIG_STRING(config, name); - } - - static void get_config_value(const Configuration* config, std::string name, bool *value) - { - bool v = GET_CONFIG_DOUBLE(config, name) != 0; // redundant conversion to get rid of inexplicable warning C4800 on msvc. - (*value) = v; - } - - static void get_config_value(const Configuration* config, std::string name, int *value) - { - *value = GET_CONFIG_INTEGER(config, name); - } - - static void get_config_value(const Configuration* config, std::string name, IConfigurable *value) - { - // TODO: error handling here?...could also pass back return codes - // need to catch json lookup exceptions here and report errors - value->Configure((const Configuration*)&((*config)[name])); - } - - static void get_config_value(const Configuration* config, std::string name, Configuration ** pp_cached_config) - { - // TODO: error handling here?...could also pass back return codes - // need to catch json lookup exceptions here and report errors - - *pp_cached_config = Configuration::CopyFromElement( (*config)[name], config->GetDataLocation() ); - } - }; - - class ModeConfigure { }; - class ModeGetSchema { }; - namespace MetadataDescriptor { struct Base @@ -114,145 +67,21 @@ namespace Kernel Enum(_name, _desc, count, strings, values) { } - // for a list of enums, the default is emtpy list - virtual Element GetSchemaElement() - { - Element member = Object(); - QuickBuilder qb(member); - qb["type"] = json::String(GetTypeString()); - - for (int k = 0; k < enum_value_specs.size(); k++) - { - qb["enum"][k] = json::String(enum_value_specs[k].first); - } - - qb["description"] = json::String(description); - qb["default"] = json::Array(); - return member; - } virtual const char *GetTypeString() { return "Vector Enum"; } - }; - - struct Bool : public Base - { - Bool(std::string _name, std::string _desc) : Base(_name, _desc) {} virtual Element GetSchemaElement() { - Element member = Object(); + Element member = Enum::GetSchemaElement(); QuickBuilder qb(member); - qb["name"] = json::String(name); - qb["type"] = json::String("bool"); - qb["description"] = json::String(description); - return member; - } - }; - - struct String : public Base - { - String(std::string _name, std::string _desc) : Base(_name, _desc) {} - - virtual Element GetSchemaElement() - { - Element member = Object(); - QuickBuilder qb(member); - qb["name"] = json::String(name); - qb["type"] = json::String("string"); - qb["description"] = json::String(description); - - return member; - } - }; - - struct Integer : public Base - { - Integer(std::string _name, std::string _desc) : Base(_name, _desc), has_min(false), has_max(false) {} - Integer(std::string _name, std::string _desc, int _min, int _max) : Base(_name, _desc), m_min(_min), m_max(_max), has_min(true), has_max(true) {} - - bool has_min, has_max; - int m_min, m_max; - virtual Element GetSchemaElement() - { - Element member = Object(); - QuickBuilder qb(member); - qb["name"] = json::String(name); - qb["type"] = json::String("int"); - if (has_min) - qb["min"] = Number(m_min); - if (has_max) - qb["max"] = Number(m_max); - - qb["description"] = json::String(description); - - return member; - } - }; - - struct Real : public Base - { - Real(std::string _name, std::string _desc) : Base(_name, _desc), has_min(false), has_max(false) {} - Real(std::string _name, std::string _desc, float _min, float _max) : Base(_name, _desc), m_min(_min), m_max(_max), has_min(true), has_max(true) {} - - bool has_min, has_max; - float m_min, m_max; - virtual Element GetSchemaElement() - { - Element member = Object(); - QuickBuilder qb(member); - qb["name"] = json::String(name); - qb["type"] = json::String("real"); - if (has_min) - qb["min"] = Number(m_min); - if (has_max) - qb["max"] = Number(m_max); - - qb["description"] = json::String(description); - - return member; - } - }; - - struct Configuration : public Base - { - Configuration(std::string _name, std::string _desc) : Base(_name, _desc) {} - - virtual Element GetSchemaElement() - { - Element member = Object(); - QuickBuilder qb(member); - qb["name"] = json::String(name); - qb["type"] = json::String("configuration"); - qb["description"] = json::String(description); - - return member; - } - }; - - struct Configurable : public Base - { - Configurable(std::string _name, std::string _desc, IConfigurable* _object) : Base(_name, _desc), object(_object) {} - - IConfigurable *object; - virtual Element GetSchemaElement() - { - Element member = Object(); - QuickBuilder qb(member); - qb["name"] = json::String(name); - qb["type"] = json::String("object"); - qb["description"] = json::String(description); -#ifdef _WIN32 - qb["schema"] = object->GetSchema(); -#else -#warning "line of code for GetSchema commented out to get to build on linux" -#endif + // for a list of enums, the default is emtpy list + qb["default"] = json::Array(); return member; } }; } - } diff --git a/utils/Configure.cpp b/utils/Configure.cpp index 924bcee41..d3dc9b111 100644 --- a/utils/Configure.cpp +++ b/utils/Configure.cpp @@ -994,6 +994,7 @@ namespace Kernel updateSchemaWithCondition(newParamSchema, (pair.first).c_str(), (pair.second).c_str()); } } + jsonSchemaBase[paramName] = newParamSchema; } diff --git a/utils/FactorySupport.h b/utils/FactorySupport.h index 9e413f6e6..0980ef42c 100644 --- a/utils/FactorySupport.h +++ b/utils/FactorySupport.h @@ -22,7 +22,6 @@ namespace Kernel { using namespace std; - using namespace json; ////////////////////////////////////////////////////////////////////////// // CreateInstance/ClassFactory helpers @@ -64,7 +63,7 @@ namespace Kernel { obj = it->second(); // create object obj->AddRef(); // increment reference counting for 'obj' - + /* now return an interface type the user actually wants*/ if( query_for_return_interface ) { @@ -84,22 +83,15 @@ namespace Kernel obj->Release(); // reduce reference count as 'obj' is going out of scope } - IConfigurable *conf_obj = nullptr; - if (s_OK == obj->QueryInterface(GET_IID(IConfigurable), (void**)&conf_obj)) - { - if (!conf_obj->Configure(config)) - { - // release references to the objects - conf_obj->Release(); - obj->Release(); - return nullptr; - } - } - else + IConfigurable* conf_obj = obj->GetConfigurable(); + release_assert(conf_obj); + + if (!conf_obj->Configure(config)) { - // should we throw an exception? + // release references to the objects + obj->Release(); + return nullptr; } - if( conf_obj ) conf_obj->Release(); // release reference as 'conf_obj' is going out of scope. } // returning a plain object pointer type, force casted diff --git a/utils/ISupports.h b/utils/ISupports.h index 05b74cd38..01ee5fb45 100644 --- a/utils/ISupports.h +++ b/utils/ISupports.h @@ -2,6 +2,7 @@ #pragma once #include "IdmApi.h" +#include "Debug.h" #include #include #include diff --git a/utils/ObjectFactory.h b/utils/ObjectFactory.h index 22817c387..b546e67d1 100644 --- a/utils/ObjectFactory.h +++ b/utils/ObjectFactory.h @@ -51,7 +51,7 @@ namespace Kernel ObjectFactory( bool queryForReturnInterface=true ); // Provides a hook for the factory to add other stuff to the schema for an object - virtual void ModifySchema( json::QuickBuilder& rSchema, ISupports*pObject ){}; + virtual void ModifySchema( json::QuickBuilder& rSchema, ISupports* pObject ){}; // Returns the name fo the factory std::string GetFactoryName(); diff --git a/utils/ObjectFactoryTemplates.h b/utils/ObjectFactoryTemplates.h index a38a761d4..d03756c4d 100644 --- a/utils/ObjectFactoryTemplates.h +++ b/utils/ObjectFactoryTemplates.h @@ -1,6 +1,7 @@ #pragma once +#include "Configure.h" #include "ObjectFactory.h" #ifndef WIN32 #include @@ -58,11 +59,8 @@ namespace Kernel // -------------------------------- // --- Get the schema for the class // -------------------------------- - IConfigurable* p_config = nullptr; - if( s_OK != pForSchema->QueryInterface( GET_IID( IConfigurable ), (void**)&p_config ) ) - { - throw QueryInterfaceException( __FILE__, __LINE__, __FUNCTION__, "ret", "IConfigurable", "ISupports" ); - } + IConfigurable* p_config = pForSchema->GetConfigurable(); + release_assert( p_config ); Configuration* fakeConfig = Configuration::CopyFromElement( fakeJson ); p_config->Configure( fakeConfig ); @@ -204,11 +202,8 @@ namespace Kernel std::string sim_type_str = GET_CONFIG_STRING( EnvPtr->Config, "Simulation_Type" ); - IConfigurable* p_config = nullptr; - if( s_OK != pObject->QueryInterface( GET_IID( IConfigurable ), (void**)&p_config ) ) - { - throw QueryInterfaceException( __FILE__, __LINE__, __FUNCTION__, "pObject", "IConfigurable", "IObject" ); - } + IConfigurable* p_config = pObject->GetConfigurable(); + release_assert(p_config); json::Array sim_type_array = p_config->GetSimTypes(); From 136c242881f3253b55f7a9c00b4943bfc3224430 Mon Sep 17 00:00:00 2001 From: Kurt Frey Date: Tue, 23 Jun 2026 20:06:33 -0700 Subject: [PATCH 2/3] Missing overrides --- Eradication/AdditionalRestrictions.cpp | 2 -- Eradication/AdditionalRestrictionsAbstract.h | 2 ++ Eradication/TargetingLogic.h | 2 ++ Eradication/VectorSurveillanceEventCoordinator.h | 2 ++ interventions/WaningEffect.h | 8 ++++++++ interventions/WaningEffectCombo.h | 2 ++ 6 files changed, 16 insertions(+), 2 deletions(-) diff --git a/Eradication/AdditionalRestrictions.cpp b/Eradication/AdditionalRestrictions.cpp index 1e0ad8a6e..f0040e64d 100644 --- a/Eradication/AdditionalRestrictions.cpp +++ b/Eradication/AdditionalRestrictions.cpp @@ -95,8 +95,6 @@ namespace Kernel release_assert(false); } - - BEGIN_QUERY_INTERFACE_BODY(IsPregnant) HANDLE_INTERFACE(IAdditionalRestrictions) END_QUERY_INTERFACE_BODY(IsPregnant) diff --git a/Eradication/AdditionalRestrictionsAbstract.h b/Eradication/AdditionalRestrictionsAbstract.h index 20d85ab61..0fe3f4f27 100644 --- a/Eradication/AdditionalRestrictionsAbstract.h +++ b/Eradication/AdditionalRestrictionsAbstract.h @@ -17,6 +17,8 @@ namespace Kernel AdditionalRestrictionsAbstract(); virtual bool Configure(const Configuration* config) override; + virtual IConfigurable* GetConfigurable() override { return JsonConfigurable::GetConfigurable(); } + protected: bool m_CompareTo; }; diff --git a/Eradication/TargetingLogic.h b/Eradication/TargetingLogic.h index 489f688c3..0a1d522ad 100644 --- a/Eradication/TargetingLogic.h +++ b/Eradication/TargetingLogic.h @@ -41,6 +41,8 @@ namespace Kernel TargetingLogic(); virtual ~TargetingLogic(); + virtual IConfigurable* GetConfigurable() override { return JsonConfigurable::GetConfigurable(); } + virtual bool Configure(const Configuration* config) override; virtual bool IsQualified(IIndividualHumanEventContext* pContext) const override; diff --git a/Eradication/VectorSurveillanceEventCoordinator.h b/Eradication/VectorSurveillanceEventCoordinator.h index cf42c88ff..aea1604a8 100644 --- a/Eradication/VectorSurveillanceEventCoordinator.h +++ b/Eradication/VectorSurveillanceEventCoordinator.h @@ -179,6 +179,8 @@ namespace Kernel // other ISimulationEventContext* GetSimulationContext() { return m_Parent; }; + virtual IConfigurable* GetConfigurable() override { return JsonConfigurable::GetConfigurable(); } + protected: void Register(); diff --git a/interventions/WaningEffect.h b/interventions/WaningEffect.h index 8cab4fc9f..eed9236fa 100644 --- a/interventions/WaningEffect.h +++ b/interventions/WaningEffect.h @@ -26,6 +26,8 @@ namespace Kernel WaningEffectConstant( const WaningEffectConstant& rOrig ); virtual ~WaningEffectConstant() {}; + virtual IConfigurable* GetConfigurable() override { return JsonConfigurable::GetConfigurable(); } + virtual IWaningEffect* Clone() override; virtual void Update(float dt) override; virtual void SetCurrentTime(float dt) override {}; @@ -54,6 +56,8 @@ namespace Kernel WaningEffectExponential( const WaningEffectExponential& rOrig ); virtual ~WaningEffectExponential() {}; + virtual IConfigurable* GetConfigurable() override { return JsonConfigurable::GetConfigurable(); } + virtual bool Configure( const Configuration *config ) override; virtual IWaningEffect* Clone() override; virtual void Update(float dt) override; @@ -76,6 +80,8 @@ namespace Kernel WaningEffectBox( const WaningEffectBox& rOrig ); virtual ~WaningEffectBox() {}; + virtual IConfigurable* GetConfigurable() override { return JsonConfigurable::GetConfigurable(); } + virtual bool Configure( const Configuration *config ) override; virtual IWaningEffect* Clone() override; virtual void Update(float dt) override; @@ -98,6 +104,8 @@ namespace Kernel WaningEffectBoxExponential( const WaningEffectBoxExponential& rOrig ); virtual ~WaningEffectBoxExponential() {}; + virtual IConfigurable* GetConfigurable() override { return JsonConfigurable::GetConfigurable(); } + virtual bool Configure( const Configuration *config ) override; virtual IWaningEffect* Clone() override; virtual void Update(float dt) override; diff --git a/interventions/WaningEffectCombo.h b/interventions/WaningEffectCombo.h index 20fe0c651..d58cda9bb 100644 --- a/interventions/WaningEffectCombo.h +++ b/interventions/WaningEffectCombo.h @@ -48,6 +48,8 @@ namespace Kernel WaningEffectCombo(); virtual ~WaningEffectCombo(); + virtual IConfigurable* GetConfigurable() override { return JsonConfigurable::GetConfigurable(); } + virtual bool Configure( const Configuration *config ) override; // IWaningEffect methods From 73aa2706e4ff47f3f459e8636d6b422d7c8283e5 Mon Sep 17 00:00:00 2001 From: Kurt Frey Date: Tue, 23 Jun 2026 20:45:47 -0700 Subject: [PATCH 3/3] Don't query --- Eradication/CampaignEvent.cpp | 2 +- utils/FactorySupport.h | 21 +-------------------- utils/ObjectFactory.h | 3 +-- utils/ObjectFactoryTemplates.h | 5 ++--- 4 files changed, 5 insertions(+), 26 deletions(-) diff --git a/Eradication/CampaignEvent.cpp b/Eradication/CampaignEvent.cpp index ca917f457..2876e301d 100644 --- a/Eradication/CampaignEvent.cpp +++ b/Eradication/CampaignEvent.cpp @@ -28,7 +28,7 @@ namespace Kernel template CampaignEventFactory* ObjectFactory::getInstance(); CampaignEventFactory::CampaignEventFactory() - : ObjectFactory( false ) // do not queryForReturnInterface + : ObjectFactory() { } diff --git a/utils/FactorySupport.h b/utils/FactorySupport.h index 0980ef42c..3e7e04976 100644 --- a/utils/FactorySupport.h +++ b/utils/FactorySupport.h @@ -30,7 +30,7 @@ namespace Kernel typedef map support_spec_map_t; template - ReturnTypeT* CreateInstanceFromSpecs(const Configuration* config, support_spec_map_t &specs, bool query_for_return_interface = true) + ReturnTypeT* CreateInstanceFromSpecs(const Configuration* config, support_spec_map_t &specs) { string classname = "PREPARSED_CLASSNAME"; try { @@ -64,25 +64,6 @@ namespace Kernel obj = it->second(); // create object obj->AddRef(); // increment reference counting for 'obj' - /* now return an interface type the user actually wants*/ - if( query_for_return_interface ) - { - ReturnTypeT *ri = nullptr; - - // get iid. Interesting issue here where macros and templates args interact unpredictably. - string templateClassName = typeid( ReturnTypeT ).name(); - templateClassName = templateClassName.substr( templateClassName.find_last_of( "::" ) + 1 ); - - if( s_OK != obj->QueryInterface( TypeInfo::GetIID( (char*)templateClassName.c_str() ), (void**)&ri ) ) - { - /* Didn't even support what we wanted, dispose of it and return null */ - obj->Release(); - return nullptr; - } - - obj->Release(); // reduce reference count as 'obj' is going out of scope - } - IConfigurable* conf_obj = obj->GetConfigurable(); release_assert(conf_obj); diff --git a/utils/ObjectFactory.h b/utils/ObjectFactory.h index b546e67d1..48decfeba 100644 --- a/utils/ObjectFactory.h +++ b/utils/ObjectFactory.h @@ -48,7 +48,7 @@ namespace Kernel bool skip_exceptions=true ); protected: - ObjectFactory( bool queryForReturnInterface=true ); + ObjectFactory(); // Provides a hook for the factory to add other stuff to the schema for an object virtual void ModifySchema( json::QuickBuilder& rSchema, ISupports* pObject ){}; @@ -60,7 +60,6 @@ namespace Kernel support_spec_map_t m_RegisteredClasses; json::Object m_FactorySchema; - bool m_QueryForReturnInterface; static Factory* _instance; }; diff --git a/utils/ObjectFactoryTemplates.h b/utils/ObjectFactoryTemplates.h index d03756c4d..21bc8a210 100644 --- a/utils/ObjectFactoryTemplates.h +++ b/utils/ObjectFactoryTemplates.h @@ -16,10 +16,9 @@ namespace Kernel } template - ObjectFactory::ObjectFactory( bool queryForReturnInterface ) + ObjectFactory::ObjectFactory() : m_RegisteredClasses() , m_FactorySchema() - , m_QueryForReturnInterface( queryForReturnInterface ) { } @@ -89,7 +88,7 @@ namespace Kernel ElementIsValid( rJsonElement, rDataLocation, parameterName, false ); Configuration* pConfig = Configuration::CopyFromElement( rJsonElement, rDataLocation ); - IObject* obj = CreateInstanceFromSpecs( pConfig, m_RegisteredClasses, m_QueryForReturnInterface ); + IObject* obj = CreateInstanceFromSpecs( pConfig, m_RegisteredClasses ); if( !obj ) {