Subclassing Custom Reactors: code sample

Land Desktop Development ARX CPP SDK

 

Subclassing Custom Reactors

The following sample code illustrates subclassing custom reactors from AcMapOraclexxReactor classes. Classes and functions are declared, but function definitions, which would be highly implementation specific, are not shown. This is an example of what MyMapOracleReactors.h, one of the include files in the "Connecting to an Oracle Spatial Database" sample, would contain.

#include "AcMapOracleReactor.h"

class MyConnectionReactor : public AcMapOracleConnectionReactor
{

public:

	MyConnectionReactor();
	virtual ~MyConnectionReactor();

	virtual void Connected();
	virtual void Disconnected();
	virtual void BeforeConnect();
	virtual void BeforeDisconnect();
	
};

class MyExportReactor : public AcMapOracleExportReactor
{

public:

	MyExportReactor();
	virtual ~MyExportReactor();

	virtual void BeforeObjectCached(AcDbEntity *);
	virtual void ObjectCached(AcDbEntity *,unsigned long);
	virtual void ObjectRejected(AcDbEntity *);
	virtual void BeforeObjectsExported(std::vector &);
	virtual void ObjectsExported(std::vector &);

};

class MyImportReactor : public AcMapOracleImportReactor
{

public:

	MyImportReactor();
	virtual ~MyImportReactor();

	virtual void BeforeRecordImport(const ODynaset &);
	virtual void RecordImported(const ODynaset &,AcDbEntity *);
	virtual void RecordRejected(const ODynaset &);

};