libCom: actually use libComAPI.h in libCom
This commit is contained in:
@@ -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 );
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
#include <stdexcept>
|
||||
#include <stdio.h>
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
#include "epicsGuard.h"
|
||||
#include "timerPrivate.h"
|
||||
#include "errlog.h"
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
#include <stdio.h>
|
||||
#include <float.h>
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
#include "epicsGuard.h"
|
||||
#include "timerPrivate.h"
|
||||
#include "errlog.h"
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
#include "epicsAtomic.h"
|
||||
#include "timerPrivate.h"
|
||||
#include "errlog.h"
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
|
||||
#include <limits.h>
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
#include "epicsGuard.h"
|
||||
#include "timerPrivate.h"
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
#include "timerPrivate.h"
|
||||
|
||||
epicsTimerQueuePassive::~epicsTimerQueuePassive () {}
|
||||
|
||||
Reference in New Issue
Block a user