libCom: actually use libComAPI.h in libCom

This commit is contained in:
Michael Davidsaver
2020-05-20 13:38:09 -07:00
parent b2750bbe93
commit 799e72b1e3
250 changed files with 1286 additions and 1434 deletions

View File

@@ -15,7 +15,6 @@
#include <string>
#include <stdexcept>
#define epicsExportSharedSymbols
#include "epicsMath.h"
#include "epicsTimer.h"
#include "epicsGuard.h"
@@ -109,7 +108,7 @@ void epicsTimerQueuePassiveForC::destroy ()
delete this;
}
epicsShareFunc epicsTimerNotify::expireStatus::expireStatus ( restart_t restart ) :
LIBCOM_API epicsTimerNotify::expireStatus::expireStatus ( restart_t restart ) :
delay ( - DBL_MAX )
{
if ( restart != noRestart ) {
@@ -118,7 +117,7 @@ epicsShareFunc epicsTimerNotify::expireStatus::expireStatus ( restart_t restart
}
}
epicsShareFunc epicsTimerNotify::expireStatus::expireStatus
LIBCOM_API epicsTimerNotify::expireStatus::expireStatus
( restart_t restartIn, const double & expireDelaySec ) :
delay ( expireDelaySec )
{
@@ -132,12 +131,12 @@ epicsShareFunc epicsTimerNotify::expireStatus::expireStatus
}
}
epicsShareFunc bool epicsTimerNotify::expireStatus::restart () const
LIBCOM_API bool epicsTimerNotify::expireStatus::restart () const
{
return this->delay >= 0.0 && finite(this->delay);
}
epicsShareFunc double epicsTimerNotify::expireStatus::expirationDelay () const
LIBCOM_API double epicsTimerNotify::expireStatus::expirationDelay () const
{
if ( this->delay < 0.0 || !finite(this->delay) ) {
throw std::logic_error
@@ -146,7 +145,7 @@ epicsShareFunc double epicsTimerNotify::expireStatus::expirationDelay () const
return this->delay;
}
extern "C" epicsTimerQueuePassiveId epicsShareAPI
extern "C" epicsTimerQueuePassiveId epicsStdCall
epicsTimerQueuePassiveCreate (
epicsTimerQueueNotifyReschedule pRescheduleCallbackIn,
epicsTimerQueueNotifyQuantum pSleepQuantumCallbackIn,
@@ -163,13 +162,13 @@ extern "C" epicsTimerQueuePassiveId epicsShareAPI
}
}
extern "C" void epicsShareAPI
extern "C" void epicsStdCall
epicsTimerQueuePassiveDestroy ( epicsTimerQueuePassiveId pQueue )
{
pQueue->destroy ();
}
extern "C" double epicsShareAPI
extern "C" double epicsStdCall
epicsTimerQueuePassiveProcess ( epicsTimerQueuePassiveId pQueue )
{
try {
@@ -180,7 +179,7 @@ extern "C" double epicsShareAPI
}
}
extern "C" epicsTimerId epicsShareAPI epicsTimerQueuePassiveCreateTimer (
extern "C" epicsTimerId epicsStdCall epicsTimerQueuePassiveCreateTimer (
epicsTimerQueuePassiveId pQueue, epicsTimerCallback pCallback, void *pArg )
{
try {
@@ -191,19 +190,19 @@ extern "C" epicsTimerId epicsShareAPI epicsTimerQueuePassiveCreateTimer (
}
}
extern "C" epicsShareFunc void epicsShareAPI epicsTimerQueuePassiveDestroyTimer (
extern "C" LIBCOM_API void epicsStdCall epicsTimerQueuePassiveDestroyTimer (
epicsTimerQueuePassiveId /* pQueue */, epicsTimerId pTmr )
{
pTmr->destroy ();
}
extern "C" void epicsShareAPI epicsTimerQueuePassiveShow (
extern "C" void epicsStdCall epicsTimerQueuePassiveShow (
epicsTimerQueuePassiveId pQueue, unsigned int level )
{
pQueue->show ( level );
}
extern "C" epicsTimerQueueId epicsShareAPI
extern "C" epicsTimerQueueId epicsStdCall
epicsTimerQueueAllocate ( int okToShare, unsigned int threadPriority )
{
try {
@@ -218,12 +217,12 @@ extern "C" epicsTimerQueueId epicsShareAPI
}
}
extern "C" void epicsShareAPI epicsTimerQueueRelease ( epicsTimerQueueId pQueue )
extern "C" void epicsStdCall epicsTimerQueueRelease ( epicsTimerQueueId pQueue )
{
pQueue->release ();
}
extern "C" epicsTimerId epicsShareAPI epicsTimerQueueCreateTimer (
extern "C" epicsTimerId epicsStdCall epicsTimerQueueCreateTimer (
epicsTimerQueueId pQueue, epicsTimerCallback pCallback, void *pArg )
{
try {
@@ -234,41 +233,41 @@ extern "C" epicsTimerId epicsShareAPI epicsTimerQueueCreateTimer (
}
}
extern "C" void epicsShareAPI epicsTimerQueueShow (
extern "C" void epicsStdCall epicsTimerQueueShow (
epicsTimerQueueId pQueue, unsigned int level )
{
pQueue->show ( level );
}
extern "C" void epicsShareAPI epicsTimerQueueDestroyTimer (
extern "C" void epicsStdCall epicsTimerQueueDestroyTimer (
epicsTimerQueueId /* pQueue */, epicsTimerId pTmr )
{
pTmr->destroy ();
}
extern "C" void epicsShareAPI epicsTimerStartTime (
extern "C" void epicsStdCall epicsTimerStartTime (
epicsTimerId pTmr, const epicsTimeStamp *pTime )
{
pTmr->start ( *pTmr, *pTime );
}
extern "C" void epicsShareAPI epicsTimerStartDelay (
extern "C" void epicsStdCall epicsTimerStartDelay (
epicsTimerId pTmr, double delaySeconds )
{
pTmr->start ( *pTmr, delaySeconds );
}
extern "C" void epicsShareAPI epicsTimerCancel ( epicsTimerId pTmr )
extern "C" void epicsStdCall epicsTimerCancel ( epicsTimerId pTmr )
{
pTmr->cancel ();
}
extern "C" double epicsShareAPI epicsTimerGetExpireDelay ( epicsTimerId pTmr )
extern "C" double epicsStdCall epicsTimerGetExpireDelay ( epicsTimerId pTmr )
{
return pTmr->getExpireDelay ();
}
extern "C" void epicsShareAPI epicsTimerShow (
extern "C" void epicsStdCall epicsTimerShow (
epicsTimerId pTmr, unsigned int level )
{
pTmr->timer::show ( level );

View File

@@ -16,7 +16,7 @@
#include <float.h>
#include "shareLib.h"
#include "libComAPI.h"
#include "epicsTime.h"
#include "epicsThread.h"
@@ -28,15 +28,15 @@
*/
/* code using a timer must implement epicsTimerNotify */
class epicsShareClass epicsTimerNotify {
class LIBCOM_API epicsTimerNotify {
public:
enum restart_t { noRestart, restart };
class expireStatus {
public:
epicsShareFunc expireStatus ( restart_t );
epicsShareFunc expireStatus ( restart_t, const double & expireDelaySec );
epicsShareFunc bool restart () const;
epicsShareFunc double expirationDelay () const;
LIBCOM_API expireStatus ( restart_t );
LIBCOM_API expireStatus ( restart_t, const double & expireDelaySec );
LIBCOM_API bool restart () const;
LIBCOM_API double expirationDelay () const;
private:
double delay;
};
@@ -47,7 +47,7 @@ public:
virtual void show ( unsigned int level ) const;
};
class epicsShareClass epicsTimer {
class LIBCOM_API epicsTimer {
public:
/* calls cancel (see warning below) and then destroys the timer */
virtual void destroy () = 0;
@@ -75,17 +75,17 @@ public:
virtual epicsTimer & createTimer () = 0;
virtual void show ( unsigned int level ) const = 0;
protected:
epicsShareFunc virtual ~epicsTimerQueue () = 0;
LIBCOM_API virtual ~epicsTimerQueue () = 0;
};
class epicsTimerQueueActive
: public epicsTimerQueue {
public:
static epicsShareFunc epicsTimerQueueActive & allocate (
static LIBCOM_API epicsTimerQueueActive & allocate (
bool okToShare, unsigned threadPriority = epicsThreadPriorityMin + 10 );
virtual void release () = 0;
protected:
epicsShareFunc virtual ~epicsTimerQueueActive () = 0;
LIBCOM_API virtual ~epicsTimerQueueActive () = 0;
};
class epicsTimerQueueNotify {
@@ -97,14 +97,14 @@ public:
/* return this quantum in seconds. If unknown then return zero. */
virtual double quantum () = 0;
protected:
epicsShareFunc virtual ~epicsTimerQueueNotify () = 0;
LIBCOM_API virtual ~epicsTimerQueueNotify () = 0;
};
class epicsTimerQueuePassive
: public epicsTimerQueue {
public:
static epicsShareFunc epicsTimerQueuePassive & create ( epicsTimerQueueNotify & );
epicsShareFunc virtual ~epicsTimerQueuePassive () = 0; /* ok to call delete */
static LIBCOM_API epicsTimerQueuePassive & create ( epicsTimerQueueNotify & );
LIBCOM_API virtual ~epicsTimerQueuePassive () = 0; /* ok to call delete */
virtual double process ( const epicsTime & currentTime ) = 0; /* returns delay to next expire */
};
@@ -135,47 +135,47 @@ typedef void ( *epicsTimerCallback ) ( void *pPrivate );
/* thread managed timer queue */
typedef struct epicsTimerQueueActiveForC * epicsTimerQueueId;
epicsShareFunc epicsTimerQueueId epicsShareAPI
LIBCOM_API epicsTimerQueueId epicsStdCall
epicsTimerQueueAllocate ( int okToShare, unsigned int threadPriority );
epicsShareFunc void epicsShareAPI
LIBCOM_API void epicsStdCall
epicsTimerQueueRelease ( epicsTimerQueueId );
epicsShareFunc epicsTimerId epicsShareAPI
LIBCOM_API epicsTimerId epicsStdCall
epicsTimerQueueCreateTimer ( epicsTimerQueueId queueid,
epicsTimerCallback callback, void *arg );
epicsShareFunc void epicsShareAPI
LIBCOM_API void epicsStdCall
epicsTimerQueueDestroyTimer ( epicsTimerQueueId queueid, epicsTimerId id );
epicsShareFunc void epicsShareAPI
LIBCOM_API void epicsStdCall
epicsTimerQueueShow ( epicsTimerQueueId id, unsigned int level );
/* passive timer queue */
typedef struct epicsTimerQueuePassiveForC * epicsTimerQueuePassiveId;
typedef void ( * epicsTimerQueueNotifyReschedule ) ( void * pPrivate );
typedef double ( * epicsTimerQueueNotifyQuantum ) ( void * pPrivate );
epicsShareFunc epicsTimerQueuePassiveId epicsShareAPI
LIBCOM_API epicsTimerQueuePassiveId epicsStdCall
epicsTimerQueuePassiveCreate ( epicsTimerQueueNotifyReschedule,
epicsTimerQueueNotifyQuantum, void *pPrivate );
epicsShareFunc void epicsShareAPI
LIBCOM_API void epicsStdCall
epicsTimerQueuePassiveDestroy ( epicsTimerQueuePassiveId );
epicsShareFunc epicsTimerId epicsShareAPI
LIBCOM_API epicsTimerId epicsStdCall
epicsTimerQueuePassiveCreateTimer (
epicsTimerQueuePassiveId queueid, epicsTimerCallback pCallback, void *pArg );
epicsShareFunc void epicsShareAPI
LIBCOM_API void epicsStdCall
epicsTimerQueuePassiveDestroyTimer ( epicsTimerQueuePassiveId queueid, epicsTimerId id );
epicsShareFunc double epicsShareAPI
LIBCOM_API double epicsStdCall
epicsTimerQueuePassiveProcess ( epicsTimerQueuePassiveId );
epicsShareFunc void epicsShareAPI
LIBCOM_API void epicsStdCall
epicsTimerQueuePassiveShow ( epicsTimerQueuePassiveId id, unsigned int level );
/* timer */
epicsShareFunc void epicsShareAPI
LIBCOM_API void epicsStdCall
epicsTimerStartTime ( epicsTimerId id, const epicsTimeStamp *pTime );
epicsShareFunc void epicsShareAPI
LIBCOM_API void epicsStdCall
epicsTimerStartDelay ( epicsTimerId id, double delaySeconds );
epicsShareFunc void epicsShareAPI
LIBCOM_API void epicsStdCall
epicsTimerCancel ( epicsTimerId id );
epicsShareFunc double epicsShareAPI
LIBCOM_API double epicsStdCall
epicsTimerGetExpireDelay ( epicsTimerId id );
epicsShareFunc void epicsShareAPI
LIBCOM_API void epicsStdCall
epicsTimerShow ( epicsTimerId id, unsigned int level );
#ifdef __cplusplus

View File

@@ -19,7 +19,6 @@
#include <stdexcept>
#include <stdio.h>
#define epicsExportSharedSymbols
#include "epicsGuard.h"
#include "timerPrivate.h"
#include "errlog.h"

View File

@@ -15,7 +15,6 @@
#include <stdio.h>
#include <float.h>
#define epicsExportSharedSymbols
#include "epicsGuard.h"
#include "timerPrivate.h"
#include "errlog.h"

View File

@@ -14,7 +14,6 @@
#include <stdio.h>
#define epicsExportSharedSymbols
#include "epicsAtomic.h"
#include "timerPrivate.h"
#include "errlog.h"

View File

@@ -15,7 +15,6 @@
#include <limits.h>
#define epicsExportSharedSymbols
#include "epicsGuard.h"
#include "timerPrivate.h"

View File

@@ -23,7 +23,6 @@
#include <stdio.h>
#define epicsExportSharedSymbols
#include "timerPrivate.h"
epicsTimerQueuePassive::~epicsTimerQueuePassive () {}