A.2.1 CADIBroker class definition

This section describes the CADIBroker class definition.

class WEXP CADIBroker: public CAInterface
{
public:
static if_name_t IFNAME() { return "eslapi.CADIBroker2"; }
static if_rev_t IFREVISION() { return 0; }
virtual ~CADIBroker() {}
virtual void Release() = 0;
virtual CADIReturn_t GetSimulationFactories(uint32_t startFactoryIndex,
     uint32_t desiredNumberOfFactories, CADISimulationFactory **factoryList,
     uint32_t *actualNumberOfFactories) = 0;
virtual CADIReturn_t GetSimulationInfos(uint32_t startSimulationInfoIndex, 
     uint32_t desiredNumberOfSimulations, CADISimulationInfo_t *simulationList,
     uint32_t *actualNumberOfSimulations) = 0;
virtual CADISimulation *SelectSimulation( uint32_t simulationId, 
     CADIErrorCallback *errorCallbackObject, CADISimulationCallback*
     simulationCallbackObject, 
     char simulationCallbacksEnable[CADI_SIM_CB_Count])=0;
};

The CADI broker owns all CADI simulations and no other class is permitted to delete them.

If a CADI factory creates a simulation, it must transfer the pointer to the new simulation to the broker.

If the simulation is shut down or killed, the broker is responsible for deleting the simulation. Delete the simulation by processing GetSimulationInfos() and checking for running simulations (check that the reference count is 0 and any other implementation-specific conditions are in the appropriate state).

Non-ConfidentialPDF file icon PDF version100963_0200_03_en
Copyright © 2014–2018 Arm Limited or its affiliates. All rights reserved.