Libmacro  0.2
Libmacro is an extensible macro and hotkey library.
mcr Namespace Reference

Libmacro, by Jonathan Pelletier, New Paradigm Software. Alpha version. More...

Classes

class  Alarm
 
class  AlarmRef
 
class  Command
 
class  Contract
 
struct  dispatch_receiver_less
 
struct  Dispatcher
 
class  DispatchReceiverMap
 
class  DispatchReceiverSet
 
class  ICommand
 
class  IDataMember
 
struct  IDispatcher
 
class  IInterrupt
 
class  IKeyProvider
 
class  Interrupt
 
class  IOnPropertyChanged
 
class  IProperties
 
class  ISerializer
 Get/Set all values of an object. More...
 
struct  ISignal
 
class  ISignalBuilder
 
class  ISignalMember
 
class  IStringKey
 
struct  ITrigger
 
class  ITriggerBuilder
 
class  ITriggerMember
 
struct  KeyDispatcher
 
struct  Libmacro
 
class  LibmacroPlatform
 
class  Macro
 
class  MacrosInterrupted
 
class  Reference
 
struct  Registry
 
class  SafeString
 
class  SerAction
 
class  SerAlarm
 
class  SerCommand
 
class  SerHidEcho
 
class  Serial
 
class  SerInterrupt
 
class  SerKey
 
class  SerModifier
 
class  SerMoveCursor
 
class  SerNoOp
 
class  SerScroll
 
class  SerSignal
 
class  SerStaged
 
class  SerStringKey
 
class  SerTrigger
 
struct  Signal
 
class  SignalBuilder
 
class  SignalFunctions
 
class  Staged
 
class  String
 
struct  string_less_ci
 
class  StringKey
 
struct  Trigger
 
class  TriggerBuilder
 
class  TriggerFunctions
 

Functions

template<typename T >
T & reference (void *pointer)
 
template<typename rT , typename vT >
rT * offset (vT *valuePt)
 
template<typename rT , typename vT >
const rT * offset (const vT *valuePt)
 
template<typename T >
void * newDataMember ()
 
template<typename T >
void deleteDataMember (void *dataPt)
 
template<typename T >
void resetDataMember (void *dataPt)
 
template<typename T >
mcr_DataMember doufu ()
 
MCR_API void throwError (const char *lineString, int errorNumber)
 

Detailed Description

Libmacro, by Jonathan Pelletier, New Paradigm Software. Alpha version.

  1. mcr_Signal is dispatched to mcr_IDispatcher using mcr_dispatch.
    1.0.a Disable dispatch for a signal by setting mcr_Signal::dispatch_flag to false.
    1.0.b Disable dispatch for all of an ISignal type by setting mcr_ISignal.dispatcher to NULL.
    1.0.c Disable Libmacro generic dispatch (receive all types) by setting mcr_context.base.generic_dispatcher_flag to false.
    1.1 Dispatching may be received by mcr_DispatchReceiver.
    1.2 mcr_Trigger_receive may be used to dispatch into mcr_Trigger.
    1.3 Triggered action may be a mcr_Macro, which sends a list of mcr_Signal.
  2. If signal is not blocked by dispatching, it is then sent to cause an action.

Function Documentation

§ deleteDataMember()

template<typename T >
void mcr::deleteDataMember ( void *  dataPt)

C++ function to deallocate C++ objects from heap with mcr_Interface

Definition at line 69 of file functions.h.

§ doufu()

template<typename T >
mcr_DataMember mcr::doufu ( )
Todo:
Maybe not used */

Definition at line 85 of file functions.h.

§ newDataMember()

template<typename T >
void* mcr::newDataMember ( )

C++ function to allocate data member to heap.

Definition at line 62 of file functions.h.

§ offset() [1/2]

template<typename rT , typename vT >
rT* mcr::offset ( vT *  valuePt)
Precondition
vT *value must be a member of rT named "self"

Definition at line 44 of file functions.h.

§ offset() [2/2]

template<typename rT , typename vT >
const rT* mcr::offset ( const vT *  valuePt)
Precondition
vT *value must be a member of rT named "self"

Definition at line 53 of file functions.h.

§ resetDataMember()

template<typename T >
void mcr::resetDataMember ( void *  dataPt)

C++ function to reinitialize C++ objects

Definition at line 77 of file functions.h.