From f5cfe112619e83698c36e534aa6a0955813cd828 Mon Sep 17 00:00:00 2001 From: Marty Kraimer Date: Tue, 30 Jul 2002 15:12:06 +0000 Subject: [PATCH] add dbSubExample --- src/makeBaseApp/top/exampleApp/Db/Makefile | 4 +- .../top/exampleApp/Db/dbSubExample.db | 5 ++ src/makeBaseApp/top/exampleApp/src/Makefile | 1 + .../top/exampleApp/src/dbSubExample.cpp | 46 +++++++++++++++++++ .../top/exampleBoot/ioc/st.cmd@Common | 1 + .../top/exampleBoot/ioc/st.cmd@RTEMS | 1 + .../top/exampleBoot/ioc/st.cmd@vxWorks | 1 + 7 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 src/makeBaseApp/top/exampleApp/Db/dbSubExample.db create mode 100644 src/makeBaseApp/top/exampleApp/src/dbSubExample.cpp diff --git a/src/makeBaseApp/top/exampleApp/Db/Makefile b/src/makeBaseApp/top/exampleApp/Db/Makefile index 68a293502..5099bf4aa 100644 --- a/src/makeBaseApp/top/exampleApp/Db/Makefile +++ b/src/makeBaseApp/top/exampleApp/Db/Makefile @@ -15,7 +15,9 @@ include $(TOP)/configure/CONFIG #---------------------------------------------------- # Create and install (or just install) # databases, templates, substitutions like this -DB += dbExample1.db dbExample2.db +DB += dbExample1.db +DB += db dbExample2.db +DB += dbSubExample.db #---------------------------------------------------- # Declare template files which do not show up in DB diff --git a/src/makeBaseApp/top/exampleApp/Db/dbSubExample.db b/src/makeBaseApp/top/exampleApp/Db/dbSubExample.db new file mode 100644 index 000000000..96b86387d --- /dev/null +++ b/src/makeBaseApp/top/exampleApp/Db/dbSubExample.db @@ -0,0 +1,5 @@ +record(sub,"$(user):subExample") +{ + field(INAM,"mySubInit") + field(SNAM,"mySubProcess") +} diff --git a/src/makeBaseApp/top/exampleApp/src/Makefile b/src/makeBaseApp/top/exampleApp/src/Makefile index 06c2502a4..33f73637a 100644 --- a/src/makeBaseApp/top/exampleApp/src/Makefile +++ b/src/makeBaseApp/top/exampleApp/src/Makefile @@ -35,6 +35,7 @@ PROD_IOC = example example_SRCS += xxxRecord.c example_SRCS += devXxxSoft.c +example_SRCS += dbSubExample.cpp # _registerRecordDeviceDriver.cpp will be created from .dbd example_SRCS += example_registerRecordDeviceDriver.cpp diff --git a/src/makeBaseApp/top/exampleApp/src/dbSubExample.cpp b/src/makeBaseApp/top/exampleApp/src/dbSubExample.cpp new file mode 100644 index 000000000..86f52a1b4 --- /dev/null +++ b/src/makeBaseApp/top/exampleApp/src/dbSubExample.cpp @@ -0,0 +1,46 @@ +#include +#include +#include +#include +#include + +#include +#include + +extern "C" { +typedef long (*processMethod)(subRecord *precord); +long mySubInit(subRecord *precord,processMethod process); +long mySubProcess(subRecord *precord); +void mySubRecordFunctionsRegister(void); +} + +long mySubInit(subRecord *precord,processMethod process) +{ + printf("%s mySubInit process %p\n",precord->name,process); + return(0); +} + +long mySubProcess(subRecord *precord) +{ + printf("%s mySubProcess\n",precord->name); + return(0); +} + +void mySubRecordFunctionsRegister(void) +{ + + if(!registryFunctionAdd("mySubInit",(REGISTRYFUNCTION)mySubInit)) + errlogPrintf("mySubRecordFunctionsRegister registryFunctionAdd failed\n"); + if(!registryFunctionAdd("mySubProcess",(REGISTRYFUNCTION)mySubProcess)) + errlogPrintf("mySubRecordFunctionsRegister registryFunctionAdd failed\n"); +} + +/* + * Register commands on application startup + */ +class mySubRegister { + public: + mySubRegister() { mySubRecordFunctionsRegister(); } +}; +static mySubRegister mySubRegisterObj; + diff --git a/src/makeBaseApp/top/exampleBoot/ioc/st.cmd@Common b/src/makeBaseApp/top/exampleBoot/ioc/st.cmd@Common index 8ed2e6306..d72778400 100644 --- a/src/makeBaseApp/top/exampleBoot/ioc/st.cmd@Common +++ b/src/makeBaseApp/top/exampleBoot/ioc/st.cmd@Common @@ -4,5 +4,6 @@ dbLoadRecords("../../db/dbExample1.db","user=_USER_Host") dbLoadRecords("../../db/dbExample2.db","user=_USER_Host,no=1,scan=1 second") dbLoadRecords("../../db/dbExample2.db","user=_USER_Host,no=2,scan=2 second") dbLoadRecords("../../db/dbExample2.db","user=_USER_Host,no=3,scan=5 second") +dbLoadRecords("../../db/dbSubExample.db","user=_USER_Host") iocInit() #seq sncExample,"user=_USER_Host" diff --git a/src/makeBaseApp/top/exampleBoot/ioc/st.cmd@RTEMS b/src/makeBaseApp/top/exampleBoot/ioc/st.cmd@RTEMS index c132eda8b..fef6304f7 100644 --- a/src/makeBaseApp/top/exampleBoot/ioc/st.cmd@RTEMS +++ b/src/makeBaseApp/top/exampleBoot/ioc/st.cmd@RTEMS @@ -4,5 +4,6 @@ dbLoadRecords("db/dbExample1.db","user=_USER_") dbLoadRecords("db/dbExample2.db","user=_USER_,no=1,scan=1 second") dbLoadRecords("db/dbExample2.db","user=_USER_,no=2,scan=2 second") dbLoadRecords("db/dbExample2.db","user=_USER_,no=3,scan=5 second") +dbLoadRecords("db/dbSubExample.db","user=_USER_") iocInit() #seq sncExample,"user=_USER_" diff --git a/src/makeBaseApp/top/exampleBoot/ioc/st.cmd@vxWorks b/src/makeBaseApp/top/exampleBoot/ioc/st.cmd@vxWorks index 65f48eef0..787181ea6 100644 --- a/src/makeBaseApp/top/exampleBoot/ioc/st.cmd@vxWorks +++ b/src/makeBaseApp/top/exampleBoot/ioc/st.cmd@vxWorks @@ -20,6 +20,7 @@ dbLoadRecords("db/dbExample1.db","user=_USER_") dbLoadRecords("db/dbExample2.db","user=_USER_,no=1,scan=1 second") dbLoadRecords("db/dbExample2.db","user=_USER_,no=2,scan=2 second") dbLoadRecords("db/dbExample2.db","user=_USER_,no=3,scan=5 second") +dbLoadRecords("db/dbSubExample.db","user=_USER_") cd startup iocInit