Libmacro  0.2
Libmacro is an extensible macro and hotkey library.
mcr::Libmacro Struct Referencefinal

Public Member Functions

 Libmacro (bool enabled=true)
 
 Libmacro (const Libmacro &)
 
 ~Libmacro ()
 
Libmacrooperator= (const Libmacro &)
 
mcr_contextoperator* ()
 
const mcr_contextoperator* () const
 
template<typename ISignalMemberT >
ISignalregisterSignal (ISignal &isignal)
 
template<typename ITriggerMemberT >
ITriggerregisterTrigger (ITrigger &itrigger)
 
bool enabled () const
 
void setEnabled (bool val)
 
size_t characterCount () const
 
size_t characterCount (int c) const
 
SignalcharacterData (int c) const
 
template<typename T >
void setCharacter (int c, const T &val)
 
void setCharacterKey (int c, int key, long msecDelay, bool shiftFlag)
 
void setCharacterDelays (mcr_NoOp delayValue)
 
void removeCharacter (int c)
 
void trimCharacters ()
 
void clearCharacters ()
 
mcr_IDispatcherdispatcher (size_t id) const
 
mcr_IDispatcherdispatcher (mcr_ISignal *isignalPt) const
 
mcr_IDispatcherdispatcher (mcr_Signal *signalPt) const
 
void setDispatcher (size_t id, mcr_IDispatcher *idispatcherPt)
 
void setGenericDispatcher (mcr_IDispatcher *idispatcherPt, bool enable=false)
 
void setDispatcher (mcr_ISignal *isignalPt, mcr_IDispatcher *idispatcherPt, bool enable=false)
 
void setDispatcher (mcr_Signal *signalPt, mcr_IDispatcher *idispatcherPt, bool enable=false)
 
void clearDispatchers ()
 

Static Public Member Functions

static Libmacroinstance ()
 
static Libmacroinstance (Libmacro *contextIfNotNull)
 
static Libmacrooffset (mcr_context *originPt)
 
static const Libmacrooffset (const mcr_context *originPt)
 

Public Attributes

mcr_context self
 
Registry isignalRegistry
 
Registry itriggerRegistry
 
mcr_ISignaliHidEcho
 
mcr_ISignaliKey
 
mcr_ISignaliModifier
 
mcr_ISignaliMoveCursor
 
mcr_ISignaliNoOp
 
mcr_ISignaliScroll
 
ISignal iCommand
 
ISignal iInterrupt
 
ISignal iStringKey
 
mcr_ITriggeriAction
 
Dispatcher genericDispatcher
 
Dispatcher hidEchoDispatcher
 
KeyDispatcher keyDispatcher
 
Dispatcher modifierDispatcher
 
Dispatcher moveCursorDispatcher
 
Dispatcher noOpDispatcher
 
Dispatcher scrollDispatcher
 
Dispatcher commandDispatcher
 
Dispatcher interruptDispatcher
 
Dispatcher stringKeyDispatcher
 
MacrosInterrupted macrosInterrupted
 
Serial serial
 

Friends

class LibmacroPrivate
 
class LibmacroPlatform
 

Detailed Description

Definition at line 52 of file extras.h.

Constructor & Destructor Documentation

§ Libmacro()

mcr::Libmacro::Libmacro ( bool  enabled = true)

ctor

Parameters
enabledInitial enabled state, must be disabled before destruction

§ ~Libmacro()

mcr::Libmacro::~Libmacro ( )

dtor If this is enabled during destruction threading errors are likely to happen

Member Function Documentation

§ characterCount()

size_t mcr::Libmacro::characterCount ( ) const
Todo:
Find a place for Key registry characters

§ enabled()

bool mcr::Libmacro::enabled ( ) const
inline

Generic enabler for mcr_context functions, such as hardware hooks and any sort of threading.

Definition at line 168 of file extras.h.

§ instance()

static Libmacro* mcr::Libmacro::instance ( )
static

Get the last created Libmacro module

Will throw EFAULT if no Libmacro exists, and will not create a singleton object

§ operator*()

mcr_context& mcr::Libmacro::operator* ( )
inline

Get the C++ Context of a C Context.

Definition at line 116 of file extras.h.

§ setCharacter()

template<typename T >
void mcr::Libmacro::setCharacter ( int  c,
const T &  val 
)
inline

Set signals for a character as a list of signals.

Definition at line 184 of file extras.h.

§ setCharacterDelays()

void mcr::Libmacro::setCharacterDelays ( mcr_NoOp  delayValue)

Set all mcr_NoOp delay values for StringKey

Parameters
delayValueApply this pause time

§ setCharacterKey()

void mcr::Libmacro::setCharacterKey ( int  c,
int  key,
long  msecDelay,
bool  shiftFlag 
)

Set signals for a character that will press, pause, and release a key.

Parameters
cCharacter to set signals for
keyKeyboard key to press and release
msecDelayMilliseconds to pause between key press and release
shiftFlagIf true a shift key will press before the key, and release after the key.
Returns
reterr

§ setEnabled()

void mcr::Libmacro::setEnabled ( bool  val)

Set current enabled state. Please disable before the destructor to avoid threading errors.


The documentation for this struct was generated from the following file: