summaryrefslogtreecommitdiff
path: root/core/command_queue_mt.h
diff options
context:
space:
mode:
Diffstat (limited to 'core/command_queue_mt.h')
-rw-r--r--core/command_queue_mt.h914
1 files changed, 487 insertions, 427 deletions
diff --git a/core/command_queue_mt.h b/core/command_queue_mt.h
index 3975df7658..3a859c809c 100644
--- a/core/command_queue_mt.h
+++ b/core/command_queue_mt.h
@@ -29,11 +29,11 @@
#ifndef COMMAND_QUEUE_MT_H
#define COMMAND_QUEUE_MT_H
-#include "typedefs.h"
-#include "os/semaphore.h"
-#include "os/mutex.h"
#include "os/memory.h"
+#include "os/mutex.h"
+#include "os/semaphore.h"
#include "simple_type.h"
+#include "typedefs.h"
/**
@author Juan Linietsky <reduzio@gmail.com>
*/
@@ -48,69 +48,69 @@ class CommandQueueMT {
struct CommandBase {
- virtual void call()=0;
- virtual ~CommandBase() {};
+ virtual void call() = 0;
+ virtual ~CommandBase(){};
};
- template<class T,class M>
+ template <class T, class M>
struct Command0 : public CommandBase {
- T*instance;
+ T *instance;
M method;
virtual void call() { (instance->*method)(); }
};
- template<class T,class M,class P1>
+ template <class T, class M, class P1>
struct Command1 : public CommandBase {
- T*instance;
+ T *instance;
M method;
typename GetSimpleTypeT<P1>::type_t p1;
virtual void call() { (instance->*method)(p1); }
};
- template<class T,class M,class P1,class P2>
+ template <class T, class M, class P1, class P2>
struct Command2 : public CommandBase {
- T*instance;
+ T *instance;
M method;
typename GetSimpleTypeT<P1>::type_t p1;
typename GetSimpleTypeT<P2>::type_t p2;
- virtual void call() { (instance->*method)(p1,p2); }
+ virtual void call() { (instance->*method)(p1, p2); }
};
- template<class T,class M,class P1,class P2,class P3>
+ template <class T, class M, class P1, class P2, class P3>
struct Command3 : public CommandBase {
- T*instance;
+ T *instance;
M method;
typename GetSimpleTypeT<P1>::type_t p1;
typename GetSimpleTypeT<P2>::type_t p2;
typename GetSimpleTypeT<P3>::type_t p3;
- virtual void call() { (instance->*method)(p1,p2,p3); }
+ virtual void call() { (instance->*method)(p1, p2, p3); }
};
- template<class T,class M,class P1,class P2,class P3,class P4>
+ template <class T, class M, class P1, class P2, class P3, class P4>
struct Command4 : public CommandBase {
- T*instance;
+ T *instance;
M method;
typename GetSimpleTypeT<P1>::type_t p1;
typename GetSimpleTypeT<P2>::type_t p2;
typename GetSimpleTypeT<P3>::type_t p3;
typename GetSimpleTypeT<P4>::type_t p4;
- virtual void call() { (instance->*method)(p1,p2,p3,p4); }
+ virtual void call() { (instance->*method)(p1, p2, p3, p4); }
};
- template<class T,class M,class P1,class P2,class P3,class P4,class P5>
+ template <class T, class M, class P1, class P2, class P3, class P4, class P5>
struct Command5 : public CommandBase {
- T*instance;
+ T *instance;
M method;
typename GetSimpleTypeT<P1>::type_t p1;
typename GetSimpleTypeT<P2>::type_t p2;
@@ -118,13 +118,13 @@ class CommandQueueMT {
typename GetSimpleTypeT<P4>::type_t p4;
typename GetSimpleTypeT<P5>::type_t p5;
- virtual void call() { (instance->*method)(p1,p2,p3,p4,p5); }
+ virtual void call() { (instance->*method)(p1, p2, p3, p4, p5); }
};
- template<class T,class M,class P1,class P2,class P3,class P4,class P5,class P6>
+ template <class T, class M, class P1, class P2, class P3, class P4, class P5, class P6>
struct Command6 : public CommandBase {
- T*instance;
+ T *instance;
M method;
typename GetSimpleTypeT<P1>::type_t p1;
typename GetSimpleTypeT<P2>::type_t p2;
@@ -133,13 +133,13 @@ class CommandQueueMT {
typename GetSimpleTypeT<P5>::type_t p5;
typename GetSimpleTypeT<P6>::type_t p6;
- virtual void call() { (instance->*method)(p1,p2,p3,p4,p5,p6); }
+ virtual void call() { (instance->*method)(p1, p2, p3, p4, p5, p6); }
};
- template<class T,class M,class P1,class P2,class P3,class P4,class P5,class P6,class P7>
+ template <class T, class M, class P1, class P2, class P3, class P4, class P5, class P6, class P7>
struct Command7 : public CommandBase {
- T*instance;
+ T *instance;
M method;
typename GetSimpleTypeT<P1>::type_t p1;
typename GetSimpleTypeT<P2>::type_t p2;
@@ -149,13 +149,13 @@ class CommandQueueMT {
typename GetSimpleTypeT<P6>::type_t p6;
typename GetSimpleTypeT<P7>::type_t p7;
- virtual void call() { (instance->*method)(p1,p2,p3,p4,p5,p6,p7); }
+ virtual void call() { (instance->*method)(p1, p2, p3, p4, p5, p6, p7); }
};
- template<class T,class M,class P1,class P2,class P3,class P4,class P5,class P6,class P7,class P8>
+ template <class T, class M, class P1, class P2, class P3, class P4, class P5, class P6, class P7, class P8>
struct Command8 : public CommandBase {
- T*instance;
+ T *instance;
M method;
typename GetSimpleTypeT<P1>::type_t p1;
typename GetSimpleTypeT<P2>::type_t p2;
@@ -166,96 +166,120 @@ class CommandQueueMT {
typename GetSimpleTypeT<P7>::type_t p7;
typename GetSimpleTypeT<P8>::type_t p8;
- virtual void call() { (instance->*method)(p1,p2,p3,p4,p5,p6,p7,p8); }
+ virtual void call() { (instance->*method)(p1, p2, p3, p4, p5, p6, p7, p8); }
};
/* comands that return */
- template<class T,class M,class R>
+ template <class T, class M, class R>
struct CommandRet0 : public CommandBase {
- T*instance;
+ T *instance;
M method;
- R* ret;
+ R *ret;
SyncSemaphore *sync;
- virtual void call() { *ret = (instance->*method)(); sync->sem->post(); sync->in_use=false; }
+ virtual void call() {
+ *ret = (instance->*method)();
+ sync->sem->post();
+ sync->in_use = false;
+ }
};
- template<class T,class M,class P1,class R>
+ template <class T, class M, class P1, class R>
struct CommandRet1 : public CommandBase {
- T*instance;
+ T *instance;
M method;
typename GetSimpleTypeT<P1>::type_t p1;
- R* ret;
+ R *ret;
SyncSemaphore *sync;
- virtual void call() { *ret = (instance->*method)(p1); sync->sem->post(); sync->in_use=false; }
+ virtual void call() {
+ *ret = (instance->*method)(p1);
+ sync->sem->post();
+ sync->in_use = false;
+ }
};
- template<class T,class M,class P1,class P2,class R>
+ template <class T, class M, class P1, class P2, class R>
struct CommandRet2 : public CommandBase {
- T*instance;
+ T *instance;
M method;
typename GetSimpleTypeT<P1>::type_t p1;
typename GetSimpleTypeT<P2>::type_t p2;
- R* ret;
+ R *ret;
SyncSemaphore *sync;
- virtual void call() { *ret = (instance->*method)(p1,p2); sync->sem->post(); sync->in_use=false; }
+ virtual void call() {
+ *ret = (instance->*method)(p1, p2);
+ sync->sem->post();
+ sync->in_use = false;
+ }
};
- template<class T,class M,class P1,class P2,class P3,class R>
+ template <class T, class M, class P1, class P2, class P3, class R>
struct CommandRet3 : public CommandBase {
- T*instance;
+ T *instance;
M method;
typename GetSimpleTypeT<P1>::type_t p1;
typename GetSimpleTypeT<P2>::type_t p2;
typename GetSimpleTypeT<P3>::type_t p3;
- R* ret;
+ R *ret;
SyncSemaphore *sync;
- virtual void call() { *ret = (instance->*method)(p1,p2,p3); sync->sem->post(); sync->in_use=false; }
+ virtual void call() {
+ *ret = (instance->*method)(p1, p2, p3);
+ sync->sem->post();
+ sync->in_use = false;
+ }
};
- template<class T,class M,class P1,class P2,class P3,class P4,class R>
+ template <class T, class M, class P1, class P2, class P3, class P4, class R>
struct CommandRet4 : public CommandBase {
- T*instance;
+ T *instance;
M method;
typename GetSimpleTypeT<P1>::type_t p1;
typename GetSimpleTypeT<P2>::type_t p2;
typename GetSimpleTypeT<P3>::type_t p3;
typename GetSimpleTypeT<P4>::type_t p4;
- R* ret;
+ R *ret;
SyncSemaphore *sync;
- virtual void call() { *ret = (instance->*method)(p1,p2,p3,p4); sync->sem->post(); sync->in_use=false; }
+ virtual void call() {
+ *ret = (instance->*method)(p1, p2, p3, p4);
+ sync->sem->post();
+ sync->in_use = false;
+ }
};
- template<class T,class M,class P1,class P2,class P3,class P4,class P5,class R>
+ template <class T, class M, class P1, class P2, class P3, class P4, class P5, class R>
struct CommandRet5 : public CommandBase {
- T*instance;
+ T *instance;
M method;
typename GetSimpleTypeT<P1>::type_t p1;
typename GetSimpleTypeT<P2>::type_t p2;
typename GetSimpleTypeT<P3>::type_t p3;
typename GetSimpleTypeT<P4>::type_t p4;
typename GetSimpleTypeT<P5>::type_t p5;
- R* ret;
+ R *ret;
SyncSemaphore *sync;
- virtual void call() { *ret = (instance->*method)(p1,p2,p3,p4,p5); sync->sem->post(); sync->in_use=false; }
+ virtual void call() {
+ *ret = (instance->*method)(p1, p2, p3, p4, p5);
+ sync->sem->post();
+ sync->in_use = false;
+ }
};
- template<class T,class M,class P1,class P2,class P3,class P4,class P5,class P6,class R>
+ template <class T, class M, class P1, class P2, class P3, class P4, class P5, class P6, class R>
struct CommandRet6 : public CommandBase {
- T*instance;
+ T *instance;
M method;
typename GetSimpleTypeT<P1>::type_t p1;
typename GetSimpleTypeT<P2>::type_t p2;
@@ -263,16 +287,20 @@ class CommandQueueMT {
typename GetSimpleTypeT<P4>::type_t p4;
typename GetSimpleTypeT<P5>::type_t p5;
typename GetSimpleTypeT<P6>::type_t p6;
- R* ret;
+ R *ret;
SyncSemaphore *sync;
- virtual void call() { *ret = (instance->*method)(p1,p2,p3,p4,p5,p6); sync->sem->post(); sync->in_use=false; }
+ virtual void call() {
+ *ret = (instance->*method)(p1, p2, p3, p4, p5, p6);
+ sync->sem->post();
+ sync->in_use = false;
+ }
};
- template<class T,class M,class P1,class P2,class P3,class P4,class P5,class P6,class P7,class R>
+ template <class T, class M, class P1, class P2, class P3, class P4, class P5, class P6, class P7, class R>
struct CommandRet7 : public CommandBase {
- T*instance;
+ T *instance;
M method;
typename GetSimpleTypeT<P1>::type_t p1;
typename GetSimpleTypeT<P2>::type_t p2;
@@ -281,16 +309,20 @@ class CommandQueueMT {
typename GetSimpleTypeT<P5>::type_t p5;
typename GetSimpleTypeT<P6>::type_t p6;
typename GetSimpleTypeT<P7>::type_t p7;
- R* ret;
+ R *ret;
SyncSemaphore *sync;
- virtual void call() { *ret = (instance->*method)(p1,p2,p3,p4,p5,p6,p7); sync->sem->post(); sync->in_use=false; }
+ virtual void call() {
+ *ret = (instance->*method)(p1, p2, p3, p4, p5, p6, p7);
+ sync->sem->post();
+ sync->in_use = false;
+ }
};
- template<class T,class M,class P1,class P2,class P3,class P4,class P5,class P6,class P7,class P8,class R>
+ template <class T, class M, class P1, class P2, class P3, class P4, class P5, class P6, class P7, class P8, class R>
struct CommandRet8 : public CommandBase {
- T*instance;
+ T *instance;
M method;
typename GetSimpleTypeT<P1>::type_t p1;
typename GetSimpleTypeT<P2>::type_t p2;
@@ -300,56 +332,72 @@ class CommandQueueMT {
typename GetSimpleTypeT<P6>::type_t p6;
typename GetSimpleTypeT<P7>::type_t p7;
typename GetSimpleTypeT<P8>::type_t p8;
- R* ret;
+ R *ret;
SyncSemaphore *sync;
- virtual void call() { *ret = (instance->*method)(p1,p2,p3,p4,p5,p6,p7,p8); sync->sem->post(); sync->in_use=false; }
+ virtual void call() {
+ *ret = (instance->*method)(p1, p2, p3, p4, p5, p6, p7, p8);
+ sync->sem->post();
+ sync->in_use = false;
+ }
};
/** commands that don't return but sync */
/* comands that return */
- template<class T,class M>
+ template <class T, class M>
struct CommandSync0 : public CommandBase {
- T*instance;
+ T *instance;
M method;
SyncSemaphore *sync;
- virtual void call() { (instance->*method)(); sync->sem->post(); sync->in_use=false; }
+ virtual void call() {
+ (instance->*method)();
+ sync->sem->post();
+ sync->in_use = false;
+ }
};
- template<class T,class M,class P1>
+ template <class T, class M, class P1>
struct CommandSync1 : public CommandBase {
- T*instance;
+ T *instance;
M method;
typename GetSimpleTypeT<P1>::type_t p1;
SyncSemaphore *sync;
- virtual void call() { (instance->*method)(p1); sync->sem->post(); sync->in_use=false; }
+ virtual void call() {
+ (instance->*method)(p1);
+ sync->sem->post();
+ sync->in_use = false;
+ }
};
- template<class T,class M,class P1,class P2>
+ template <class T, class M, class P1, class P2>
struct CommandSync2 : public CommandBase {
- T*instance;
+ T *instance;
M method;
typename GetSimpleTypeT<P1>::type_t p1;
typename GetSimpleTypeT<P2>::type_t p2;
SyncSemaphore *sync;
- virtual void call() { (instance->*method)(p1,p2); sync->sem->post(); sync->in_use=false; }
+ virtual void call() {
+ (instance->*method)(p1, p2);
+ sync->sem->post();
+ sync->in_use = false;
+ }
};
- template<class T,class M,class P1,class P2,class P3>
+ template <class T, class M, class P1, class P2, class P3>
struct CommandSync3 : public CommandBase {
- T*instance;
+ T *instance;
M method;
typename GetSimpleTypeT<P1>::type_t p1;
typename GetSimpleTypeT<P2>::type_t p2;
@@ -357,13 +405,17 @@ class CommandQueueMT {
SyncSemaphore *sync;
- virtual void call() { (instance->*method)(p1,p2,p3); sync->sem->post(); sync->in_use=false; }
+ virtual void call() {
+ (instance->*method)(p1, p2, p3);
+ sync->sem->post();
+ sync->in_use = false;
+ }
};
- template<class T,class M,class P1,class P2,class P3,class P4>
+ template <class T, class M, class P1, class P2, class P3, class P4>
struct CommandSync4 : public CommandBase {
- T*instance;
+ T *instance;
M method;
typename GetSimpleTypeT<P1>::type_t p1;
typename GetSimpleTypeT<P2>::type_t p2;
@@ -372,13 +424,17 @@ class CommandQueueMT {
SyncSemaphore *sync;
- virtual void call() { (instance->*method)(p1,p2,p3,p4); sync->sem->post(); sync->in_use=false; }
+ virtual void call() {
+ (instance->*method)(p1, p2, p3, p4);
+ sync->sem->post();
+ sync->in_use = false;
+ }
};
- template<class T,class M,class P1,class P2,class P3,class P4,class P5>
+ template <class T, class M, class P1, class P2, class P3, class P4, class P5>
struct CommandSync5 : public CommandBase {
- T*instance;
+ T *instance;
M method;
typename GetSimpleTypeT<P1>::type_t p1;
typename GetSimpleTypeT<P2>::type_t p2;
@@ -388,13 +444,17 @@ class CommandQueueMT {
SyncSemaphore *sync;
- virtual void call() { (instance->*method)(p1,p2,p3,p4,p5); sync->sem->post(); sync->in_use=false; }
+ virtual void call() {
+ (instance->*method)(p1, p2, p3, p4, p5);
+ sync->sem->post();
+ sync->in_use = false;
+ }
};
- template<class T,class M,class P1,class P2,class P3,class P4,class P5,class P6>
+ template <class T, class M, class P1, class P2, class P3, class P4, class P5, class P6>
struct CommandSync6 : public CommandBase {
- T*instance;
+ T *instance;
M method;
typename GetSimpleTypeT<P1>::type_t p1;
typename GetSimpleTypeT<P2>::type_t p2;
@@ -405,13 +465,17 @@ class CommandQueueMT {
SyncSemaphore *sync;
- virtual void call() { (instance->*method)(p1,p2,p3,p4,p5,p6); sync->sem->post(); sync->in_use=false; }
+ virtual void call() {
+ (instance->*method)(p1, p2, p3, p4, p5, p6);
+ sync->sem->post();
+ sync->in_use = false;
+ }
};
- template<class T,class M,class P1,class P2,class P3,class P4,class P5,class P6,class P7>
+ template <class T, class M, class P1, class P2, class P3, class P4, class P5, class P6, class P7>
struct CommandSync7 : public CommandBase {
- T*instance;
+ T *instance;
M method;
typename GetSimpleTypeT<P1>::type_t p1;
typename GetSimpleTypeT<P2>::type_t p2;
@@ -423,13 +487,17 @@ class CommandQueueMT {
SyncSemaphore *sync;
- virtual void call() { (instance->*method)(p1,p2,p3,p4,p5,p6,p7); sync->sem->post(); sync->in_use=false; }
+ virtual void call() {
+ (instance->*method)(p1, p2, p3, p4, p5, p6, p7);
+ sync->sem->post();
+ sync->in_use = false;
+ }
};
- template<class T,class M,class P1,class P2,class P3,class P4,class P5,class P6,class P7,class P8>
+ template <class T, class M, class P1, class P2, class P3, class P4, class P5, class P6, class P7, class P8>
struct CommandSync8 : public CommandBase {
- T*instance;
+ T *instance;
M method;
typename GetSimpleTypeT<P1>::type_t p1;
typename GetSimpleTypeT<P2>::type_t p2;
@@ -442,18 +510,21 @@ class CommandQueueMT {
SyncSemaphore *sync;
- virtual void call() { (instance->*method)(p1,p2,p3,p4,p5,p6,p7,p8); sync->sem->post(); sync->in_use=false; }
+ virtual void call() {
+ (instance->*method)(p1, p2, p3, p4, p5, p6, p7, p8);
+ sync->sem->post();
+ sync->in_use = false;
+ }
};
/***** BASE *******/
enum {
- COMMAND_MEM_SIZE_KB=256,
- COMMAND_MEM_SIZE=COMMAND_MEM_SIZE_KB*1024,
- SYNC_SEMAPHORES=8
+ COMMAND_MEM_SIZE_KB = 256,
+ COMMAND_MEM_SIZE = COMMAND_MEM_SIZE_KB * 1024,
+ SYNC_SEMAPHORES = 8
};
-
uint8_t command_mem[COMMAND_MEM_SIZE];
uint32_t read_ptr;
uint32_t write_ptr;
@@ -461,255 +532,247 @@ class CommandQueueMT {
Mutex *mutex;
Semaphore *sync;
-
- template<class T>
- T* allocate() {
+ template <class T>
+ T *allocate() {
// alloc size is size+T+safeguard
- uint32_t alloc_size=sizeof(T)+sizeof(uint32_t);
+ uint32_t alloc_size = sizeof(T) + sizeof(uint32_t);
- tryagain:
+ tryagain:
if (write_ptr < read_ptr) {
// behind read_ptr, check that there is room
- if ( (read_ptr-write_ptr) <= alloc_size )
+ if ((read_ptr - write_ptr) <= alloc_size)
return NULL;
} else if (write_ptr >= read_ptr) {
// ahead of read_ptr, check that there is room
-
- if ( (COMMAND_MEM_SIZE-write_ptr) < alloc_size+4 ) {
+ if ((COMMAND_MEM_SIZE - write_ptr) < alloc_size + 4) {
// no room at the end, wrap down;
- if (read_ptr==0) // dont want write_ptr to become read_ptr
+ if (read_ptr == 0) // dont want write_ptr to become read_ptr
return NULL;
// if this happens, it's a bug
- ERR_FAIL_COND_V( (COMMAND_MEM_SIZE-write_ptr) < sizeof(uint32_t), NULL );
+ ERR_FAIL_COND_V((COMMAND_MEM_SIZE - write_ptr) < sizeof(uint32_t), NULL);
// zero means, wrap to begining
- uint32_t * p = (uint32_t*)&command_mem[write_ptr];
- *p=0;
- write_ptr=0;
+ uint32_t *p = (uint32_t *)&command_mem[write_ptr];
+ *p = 0;
+ write_ptr = 0;
goto tryagain;
}
}
// allocate the size
- uint32_t * p = (uint32_t*)&command_mem[write_ptr];
- *p=sizeof(T);
- write_ptr+=sizeof(uint32_t);
+ uint32_t *p = (uint32_t *)&command_mem[write_ptr];
+ *p = sizeof(T);
+ write_ptr += sizeof(uint32_t);
// allocate the command
- T* cmd = memnew_placement( &command_mem[write_ptr], T );
- write_ptr+=sizeof(T);
+ T *cmd = memnew_placement(&command_mem[write_ptr], T);
+ write_ptr += sizeof(T);
return cmd;
-
}
- template<class T>
- T* allocate_and_lock() {
+ template <class T>
+ T *allocate_and_lock() {
lock();
- T* ret;
+ T *ret;
- while ( (ret=allocate<T>())==NULL ) {
+ while ((ret = allocate<T>()) == NULL) {
unlock();
// sleep a little until fetch happened and some room is made
wait_for_flush();
lock();
-
}
return ret;
}
-
bool flush_one() {
- tryagain:
+ tryagain:
// tried to read an empty queue
- if (read_ptr == write_ptr )
+ if (read_ptr == write_ptr)
return false;
- uint32_t size = *(uint32_t*)( &command_mem[read_ptr] );
+ uint32_t size = *(uint32_t *)(&command_mem[read_ptr]);
- if (size==0) {
+ if (size == 0) {
//end of ringbuffer, wrap
- read_ptr=0;
+ read_ptr = 0;
goto tryagain;
}
- read_ptr+=sizeof(uint32_t);
+ read_ptr += sizeof(uint32_t);
- CommandBase *cmd = reinterpret_cast<CommandBase*>( &command_mem[read_ptr] );
+ CommandBase *cmd = reinterpret_cast<CommandBase *>(&command_mem[read_ptr]);
cmd->call();
cmd->~CommandBase();
- read_ptr+=size;
+ read_ptr += size;
return true;
}
-
void lock();
void unlock();
void wait_for_flush();
- SyncSemaphore* _alloc_sync_sem();
-
+ SyncSemaphore *_alloc_sync_sem();
public:
-
/* NORMAL PUSH COMMANDS */
- template<class T, class M>
- void push( T * p_instance, M p_method ) {
+ template <class T, class M>
+ void push(T *p_instance, M p_method) {
- Command0<T,M> * cmd = allocate_and_lock< Command0<T,M> >();
+ Command0<T, M> *cmd = allocate_and_lock<Command0<T, M> >();
- cmd->instance=p_instance;
- cmd->method=p_method;
+ cmd->instance = p_instance;
+ cmd->method = p_method;
unlock();
if (sync) sync->post();
}
- template<class T, class M, class P1>
- void push( T * p_instance, M p_method, P1 p1 ) {
+ template <class T, class M, class P1>
+ void push(T *p_instance, M p_method, P1 p1) {
- Command1<T,M,P1> * cmd = allocate_and_lock< Command1<T,M,P1> >();
+ Command1<T, M, P1> *cmd = allocate_and_lock<Command1<T, M, P1> >();
- cmd->instance=p_instance;
- cmd->method=p_method;
- cmd->p1=p1;
+ cmd->instance = p_instance;
+ cmd->method = p_method;
+ cmd->p1 = p1;
unlock();
if (sync) sync->post();
}
- template<class T, class M, class P1, class P2>
- void push( T * p_instance, M p_method, P1 p1, P2 p2 ) {
+ template <class T, class M, class P1, class P2>
+ void push(T *p_instance, M p_method, P1 p1, P2 p2) {
- Command2<T,M,P1,P2> * cmd = allocate_and_lock< Command2<T,M,P1,P2> >();
+ Command2<T, M, P1, P2> *cmd = allocate_and_lock<Command2<T, M, P1, P2> >();
- cmd->instance=p_instance;
- cmd->method=p_method;
- cmd->p1=p1;
- cmd->p2=p2;
+ cmd->instance = p_instance;
+ cmd->method = p_method;
+ cmd->p1 = p1;
+ cmd->p2 = p2;
unlock();
if (sync) sync->post();
}
- template<class T, class M, class P1, class P2, class P3>
- void push( T * p_instance, M p_method, P1 p1, P2 p2, P3 p3 ) {
+ template <class T, class M, class P1, class P2, class P3>
+ void push(T *p_instance, M p_method, P1 p1, P2 p2, P3 p3) {
- Command3<T,M,P1,P2,P3> * cmd = allocate_and_lock< Command3<T,M,P1,P2,P3> >();
+ Command3<T, M, P1, P2, P3> *cmd = allocate_and_lock<Command3<T, M, P1, P2, P3> >();
- cmd->instance=p_instance;
- cmd->method=p_method;
- cmd->p1=p1;
- cmd->p2=p2;
- cmd->p3=p3;
+ cmd->instance = p_instance;
+ cmd->method = p_method;
+ cmd->p1 = p1;
+ cmd->p2 = p2;
+ cmd->p3 = p3;
unlock();
if (sync) sync->post();
}
- template<class T, class M, class P1, class P2, class P3, class P4>
- void push( T * p_instance, M p_method, P1 p1, P2 p2, P3 p3, P4 p4 ) {
+ template <class T, class M, class P1, class P2, class P3, class P4>
+ void push(T *p_instance, M p_method, P1 p1, P2 p2, P3 p3, P4 p4) {
- Command4<T,M,P1,P2,P3,P4> * cmd = allocate_and_lock< Command4<T,M,P1,P2,P3,P4> >();
+ Command4<T, M, P1, P2, P3, P4> *cmd = allocate_and_lock<Command4<T, M, P1, P2, P3, P4> >();
- cmd->instance=p_instance;
- cmd->method=p_method;
- cmd->p1=p1;
- cmd->p2=p2;
- cmd->p3=p3;
- cmd->p4=p4;
+ cmd->instance = p_instance;
+ cmd->method = p_method;
+ cmd->p1 = p1;
+ cmd->p2 = p2;
+ cmd->p3 = p3;
+ cmd->p4 = p4;
unlock();
if (sync) sync->post();
}
- template<class T, class M, class P1, class P2, class P3, class P4, class P5>
- void push( T * p_instance, M p_method, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5 ) {
+ template <class T, class M, class P1, class P2, class P3, class P4, class P5>
+ void push(T *p_instance, M p_method, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5) {
- Command5<T,M,P1,P2,P3,P4,P5> * cmd = allocate_and_lock< Command5<T,M,P1,P2,P3,P4,P5> >();
+ Command5<T, M, P1, P2, P3, P4, P5> *cmd = allocate_and_lock<Command5<T, M, P1, P2, P3, P4, P5> >();
- cmd->instance=p_instance;
- cmd->method=p_method;
- cmd->p1=p1;
- cmd->p2=p2;
- cmd->p3=p3;
- cmd->p4=p4;
- cmd->p5=p5;
+ cmd->instance = p_instance;
+ cmd->method = p_method;
+ cmd->p1 = p1;
+ cmd->p2 = p2;
+ cmd->p3 = p3;
+ cmd->p4 = p4;
+ cmd->p5 = p5;
unlock();
if (sync) sync->post();
}
- template<class T, class M, class P1, class P2, class P3, class P4, class P5, class P6>
- void push( T * p_instance, M p_method, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6 ) {
+ template <class T, class M, class P1, class P2, class P3, class P4, class P5, class P6>
+ void push(T *p_instance, M p_method, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) {
- Command6<T,M,P1,P2,P3,P4,P5,P6> * cmd = allocate_and_lock< Command6<T,M,P1,P2,P3,P4,P5,P6> >();
+ Command6<T, M, P1, P2, P3, P4, P5, P6> *cmd = allocate_and_lock<Command6<T, M, P1, P2, P3, P4, P5, P6> >();
- cmd->instance=p_instance;
- cmd->method=p_method;
- cmd->p1=p1;
- cmd->p2=p2;
- cmd->p3=p3;
- cmd->p4=p4;
- cmd->p5=p5;
- cmd->p6=p6;
+ cmd->instance = p_instance;
+ cmd->method = p_method;
+ cmd->p1 = p1;
+ cmd->p2 = p2;
+ cmd->p3 = p3;
+ cmd->p4 = p4;
+ cmd->p5 = p5;
+ cmd->p6 = p6;
unlock();
if (sync) sync->post();
}
- template<class T, class M, class P1, class P2, class P3, class P4, class P5, class P6, class P7>
- void push( T * p_instance, M p_method, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7 ) {
+ template <class T, class M, class P1, class P2, class P3, class P4, class P5, class P6, class P7>
+ void push(T *p_instance, M p_method, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7) {
- Command7<T,M,P1,P2,P3,P4,P5,P6,P7> * cmd = allocate_and_lock< Command7<T,M,P1,P2,P3,P4,P5,P6,P7> >();
+ Command7<T, M, P1, P2, P3, P4, P5, P6, P7> *cmd = allocate_and_lock<Command7<T, M, P1, P2, P3, P4, P5, P6, P7> >();
- cmd->instance=p_instance;
- cmd->method=p_method;
- cmd->p1=p1;
- cmd->p2=p2;
- cmd->p3=p3;
- cmd->p4=p4;
- cmd->p5=p5;
- cmd->p6=p6;
- cmd->p7=p7;
+ cmd->instance = p_instance;
+ cmd->method = p_method;
+ cmd->p1 = p1;
+ cmd->p2 = p2;
+ cmd->p3 = p3;
+ cmd->p4 = p4;
+ cmd->p5 = p5;
+ cmd->p6 = p6;
+ cmd->p7 = p7;
unlock();
if (sync) sync->post();
}
- template<class T, class M, class P1, class P2, class P3, class P4, class P5, class P6, class P7,class P8>
- void push( T * p_instance, M p_method, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8 ) {
+ template <class T, class M, class P1, class P2, class P3, class P4, class P5, class P6, class P7, class P8>
+ void push(T *p_instance, M p_method, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8) {
- Command8<T,M,P1,P2,P3,P4,P5,P6,P7,P8> * cmd = allocate_and_lock< Command8<T,M,P1,P2,P3,P4,P5,P6,P7,P8> >();
+ Command8<T, M, P1, P2, P3, P4, P5, P6, P7, P8> *cmd = allocate_and_lock<Command8<T, M, P1, P2, P3, P4, P5, P6, P7, P8> >();
- cmd->instance=p_instance;
- cmd->method=p_method;
- cmd->p1=p1;
- cmd->p2=p2;
- cmd->p3=p3;
- cmd->p4=p4;
- cmd->p5=p5;
- cmd->p6=p6;
- cmd->p7=p7;
- cmd->p8=p8;
+ cmd->instance = p_instance;
+ cmd->method = p_method;
+ cmd->p1 = p1;
+ cmd->p2 = p2;
+ cmd->p3 = p3;
+ cmd->p4 = p4;
+ cmd->p5 = p5;
+ cmd->p6 = p6;
+ cmd->p7 = p7;
+ cmd->p8 = p8;
unlock();
@@ -717,17 +780,16 @@ public:
}
/*** PUSH AND RET COMMANDS ***/
+ template <class T, class M, class R>
+ void push_and_ret(T *p_instance, M p_method, R *r_ret) {
- template<class T, class M,class R>
- void push_and_ret( T * p_instance, M p_method, R* r_ret) {
-
- CommandRet0<T,M,R> * cmd = allocate_and_lock< CommandRet0<T,M,R> >();
+ CommandRet0<T, M, R> *cmd = allocate_and_lock<CommandRet0<T, M, R> >();
- cmd->instance=p_instance;
- cmd->method=p_method;
- cmd->ret=r_ret;
- SyncSemaphore *ss=_alloc_sync_sem();
- cmd->sync=ss;
+ cmd->instance = p_instance;
+ cmd->method = p_method;
+ cmd->ret = r_ret;
+ SyncSemaphore *ss = _alloc_sync_sem();
+ cmd->sync = ss;
unlock();
@@ -735,17 +797,17 @@ public:
ss->sem->wait();
}
- template<class T, class M, class P1,class R>
- void push_and_ret( T * p_instance, M p_method, P1 p1, R* r_ret) {
+ template <class T, class M, class P1, class R>
+ void push_and_ret(T *p_instance, M p_method, P1 p1, R *r_ret) {
- CommandRet1<T,M,P1,R> * cmd = allocate_and_lock< CommandRet1<T,M,P1,R> >();
+ CommandRet1<T, M, P1, R> *cmd = allocate_and_lock<CommandRet1<T, M, P1, R> >();
- cmd->instance=p_instance;
- cmd->method=p_method;
- cmd->p1=p1;
- cmd->ret=r_ret;
- SyncSemaphore *ss=_alloc_sync_sem();
- cmd->sync=ss;
+ cmd->instance = p_instance;
+ cmd->method = p_method;
+ cmd->p1 = p1;
+ cmd->ret = r_ret;
+ SyncSemaphore *ss = _alloc_sync_sem();
+ cmd->sync = ss;
unlock();
@@ -753,18 +815,18 @@ public:
ss->sem->wait();
}
- template<class T, class M, class P1, class P2,class R>
- void push_and_ret( T * p_instance, M p_method, P1 p1, P2 p2, R* r_ret) {
+ template <class T, class M, class P1, class P2, class R>
+ void push_and_ret(T *p_instance, M p_method, P1 p1, P2 p2, R *r_ret) {
- CommandRet2<T,M,P1,P2,R> * cmd = allocate_and_lock< CommandRet2<T,M,P1,P2,R> >();
+ CommandRet2<T, M, P1, P2, R> *cmd = allocate_and_lock<CommandRet2<T, M, P1, P2, R> >();
- cmd->instance=p_instance;
- cmd->method=p_method;
- cmd->p1=p1;
- cmd->p2=p2;
- cmd->ret=r_ret;
- SyncSemaphore *ss=_alloc_sync_sem();
- cmd->sync=ss;
+ cmd->instance = p_instance;
+ cmd->method = p_method;
+ cmd->p1 = p1;
+ cmd->p2 = p2;
+ cmd->ret = r_ret;
+ SyncSemaphore *ss = _alloc_sync_sem();
+ cmd->sync = ss;
unlock();
@@ -772,19 +834,19 @@ public:
ss->sem->wait();
}
- template<class T, class M, class P1, class P2, class P3,class R>
- void push_and_ret( T * p_instance, M p_method, P1 p1, P2 p2, P3 p3, R* r_ret ) {
+ template <class T, class M, class P1, class P2, class P3, class R>
+ void push_and_ret(T *p_instance, M p_method, P1 p1, P2 p2, P3 p3, R *r_ret) {
- CommandRet3<T,M,P1,P2,P3,R> * cmd = allocate_and_lock< CommandRet3<T,M,P1,P2,P3,R> >();
+ CommandRet3<T, M, P1, P2, P3, R> *cmd = allocate_and_lock<CommandRet3<T, M, P1, P2, P3, R> >();
- cmd->instance=p_instance;
- cmd->method=p_method;
- cmd->p1=p1;
- cmd->p2=p2;
- cmd->p3=p3;
- cmd->ret=r_ret;
- SyncSemaphore *ss=_alloc_sync_sem();
- cmd->sync=ss;
+ cmd->instance = p_instance;
+ cmd->method = p_method;
+ cmd->p1 = p1;
+ cmd->p2 = p2;
+ cmd->p3 = p3;
+ cmd->ret = r_ret;
+ SyncSemaphore *ss = _alloc_sync_sem();
+ cmd->sync = ss;
unlock();
@@ -792,20 +854,20 @@ public:
ss->sem->wait();
}
- template<class T, class M, class P1, class P2, class P3, class P4,class R>
- void push_and_ret( T * p_instance, M p_method, P1 p1, P2 p2, P3 p3, P4 p4, R* r_ret ) {
+ template <class T, class M, class P1, class P2, class P3, class P4, class R>
+ void push_and_ret(T *p_instance, M p_method, P1 p1, P2 p2, P3 p3, P4 p4, R *r_ret) {
- CommandRet4<T,M,P1,P2,P3,P4,R> * cmd = allocate_and_lock< CommandRet4<T,M,P1,P2,P3,P4,R> >();
+ CommandRet4<T, M, P1, P2, P3, P4, R> *cmd = allocate_and_lock<CommandRet4<T, M, P1, P2, P3, P4, R> >();
- cmd->instance=p_instance;
- cmd->method=p_method;
- cmd->p1=p1;
- cmd->p2=p2;
- cmd->p3=p3;
- cmd->p4=p4;
- cmd->ret=r_ret;
- SyncSemaphore *ss=_alloc_sync_sem();
- cmd->sync=ss;
+ cmd->instance = p_instance;
+ cmd->method = p_method;
+ cmd->p1 = p1;
+ cmd->p2 = p2;
+ cmd->p3 = p3;
+ cmd->p4 = p4;
+ cmd->ret = r_ret;
+ SyncSemaphore *ss = _alloc_sync_sem();
+ cmd->sync = ss;
unlock();
@@ -813,21 +875,21 @@ public:
ss->sem->wait();
}
- template<class T, class M, class P1, class P2, class P3, class P4, class P5,class R>
- void push_and_ret( T * p_instance, M p_method, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, R* r_ret ) {
+ template <class T, class M, class P1, class P2, class P3, class P4, class P5, class R>
+ void push_and_ret(T *p_instance, M p_method, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, R *r_ret) {
- CommandRet5<T,M,P1,P2,P3,P4,P5,R> * cmd = allocate_and_lock< CommandRet5<T,M,P1,P2,P3,P4,P5,R> >();
+ CommandRet5<T, M, P1, P2, P3, P4, P5, R> *cmd = allocate_and_lock<CommandRet5<T, M, P1, P2, P3, P4, P5, R> >();
- cmd->instance=p_instance;
- cmd->method=p_method;
- cmd->p1=p1;
- cmd->p2=p2;
- cmd->p3=p3;
- cmd->p4=p4;
- cmd->p5=p5;
- cmd->ret=r_ret;
- SyncSemaphore *ss=_alloc_sync_sem();
- cmd->sync=ss;
+ cmd->instance = p_instance;
+ cmd->method = p_method;
+ cmd->p1 = p1;
+ cmd->p2 = p2;
+ cmd->p3 = p3;
+ cmd->p4 = p4;
+ cmd->p5 = p5;
+ cmd->ret = r_ret;
+ SyncSemaphore *ss = _alloc_sync_sem();
+ cmd->sync = ss;
unlock();
@@ -835,22 +897,22 @@ public:
ss->sem->wait();
}
- template<class T, class M, class P1, class P2, class P3, class P4, class P5, class P6,class R>
- void push_and_ret( T * p_instance, M p_method, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, R* r_ret ) {
+ template <class T, class M, class P1, class P2, class P3, class P4, class P5, class P6, class R>
+ void push_and_ret(T *p_instance, M p_method, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, R *r_ret) {
- CommandRet6<T,M,P1,P2,P3,P4,P5,P6,R> * cmd = allocate_and_lock< CommandRet6<T,M,P1,P2,P3,P4,P5,P6,R> >();
+ CommandRet6<T, M, P1, P2, P3, P4, P5, P6, R> *cmd = allocate_and_lock<CommandRet6<T, M, P1, P2, P3, P4, P5, P6, R> >();
- cmd->instance=p_instance;
- cmd->method=p_method;
- cmd->p1=p1;
- cmd->p2=p2;
- cmd->p3=p3;
- cmd->p4=p4;
- cmd->p5=p5;
- cmd->p6=p6;
- cmd->ret=r_ret;
- SyncSemaphore *ss=_alloc_sync_sem();
- cmd->sync=ss;
+ cmd->instance = p_instance;
+ cmd->method = p_method;
+ cmd->p1 = p1;
+ cmd->p2 = p2;
+ cmd->p3 = p3;
+ cmd->p4 = p4;
+ cmd->p5 = p5;
+ cmd->p6 = p6;
+ cmd->ret = r_ret;
+ SyncSemaphore *ss = _alloc_sync_sem();
+ cmd->sync = ss;
unlock();
@@ -858,23 +920,23 @@ public:
ss->sem->wait();
}
- template<class T, class M, class P1, class P2, class P3, class P4, class P5, class P6,class P7,class R>
- void push_and_ret( T * p_instance, M p_method, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6,P7 p7, R* r_ret ) {
+ template <class T, class M, class P1, class P2, class P3, class P4, class P5, class P6, class P7, class R>
+ void push_and_ret(T *p_instance, M p_method, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, R *r_ret) {
- CommandRet7<T,M,P1,P2,P3,P4,P5,P6,P7,R> * cmd = allocate_and_lock< CommandRet7<T,M,P1,P2,P3,P4,P5,P6,P7,R> >();
+ CommandRet7<T, M, P1, P2, P3, P4, P5, P6, P7, R> *cmd = allocate_and_lock<CommandRet7<T, M, P1, P2, P3, P4, P5, P6, P7, R> >();
- cmd->instance=p_instance;
- cmd->method=p_method;
- cmd->p1=p1;
- cmd->p2=p2;
- cmd->p3=p3;
- cmd->p4=p4;
- cmd->p5=p5;
- cmd->p6=p6;
- cmd->p7=p7;
- cmd->ret=r_ret;
- SyncSemaphore *ss=_alloc_sync_sem();
- cmd->sync=ss;
+ cmd->instance = p_instance;
+ cmd->method = p_method;
+ cmd->p1 = p1;
+ cmd->p2 = p2;
+ cmd->p3 = p3;
+ cmd->p4 = p4;
+ cmd->p5 = p5;
+ cmd->p6 = p6;
+ cmd->p7 = p7;
+ cmd->ret = r_ret;
+ SyncSemaphore *ss = _alloc_sync_sem();
+ cmd->sync = ss;
unlock();
@@ -882,24 +944,24 @@ public:
ss->sem->wait();
}
- template<class T, class M, class P1, class P2, class P3, class P4, class P5, class P6,class P7,class P8,class R>
- void push_and_ret( T * p_instance, M p_method, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6,P7 p7,P8 p8, R* r_ret ) {
-
- CommandRet8<T,M,P1,P2,P3,P4,P5,P6,P7,P8,R> * cmd = allocate_and_lock< CommandRet8<T,M,P1,P2,P3,P4,P5,P6,P7,P8,R> >();
-
- cmd->instance=p_instance;
- cmd->method=p_method;
- cmd->p1=p1;
- cmd->p2=p2;
- cmd->p3=p3;
- cmd->p4=p4;
- cmd->p5=p5;
- cmd->p6=p6;
- cmd->p7=p7;
- cmd->p8=p8;
- cmd->ret=r_ret;
- SyncSemaphore *ss=_alloc_sync_sem();
- cmd->sync=ss;
+ template <class T, class M, class P1, class P2, class P3, class P4, class P5, class P6, class P7, class P8, class R>
+ void push_and_ret(T *p_instance, M p_method, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, R *r_ret) {
+
+ CommandRet8<T, M, P1, P2, P3, P4, P5, P6, P7, P8, R> *cmd = allocate_and_lock<CommandRet8<T, M, P1, P2, P3, P4, P5, P6, P7, P8, R> >();
+
+ cmd->instance = p_instance;
+ cmd->method = p_method;
+ cmd->p1 = p1;
+ cmd->p2 = p2;
+ cmd->p3 = p3;
+ cmd->p4 = p4;
+ cmd->p5 = p5;
+ cmd->p6 = p6;
+ cmd->p7 = p7;
+ cmd->p8 = p8;
+ cmd->ret = r_ret;
+ SyncSemaphore *ss = _alloc_sync_sem();
+ cmd->sync = ss;
unlock();
@@ -907,17 +969,16 @@ public:
ss->sem->wait();
}
+ template <class T, class M>
+ void push_and_sync(T *p_instance, M p_method) {
- template<class T, class M>
- void push_and_sync( T * p_instance, M p_method) {
+ CommandSync0<T, M> *cmd = allocate_and_lock<CommandSync0<T, M> >();
- CommandSync0<T,M> * cmd = allocate_and_lock< CommandSync0<T,M> >();
+ cmd->instance = p_instance;
+ cmd->method = p_method;
- cmd->instance=p_instance;
- cmd->method=p_method;
-
- SyncSemaphore *ss=_alloc_sync_sem();
- cmd->sync=ss;
+ SyncSemaphore *ss = _alloc_sync_sem();
+ cmd->sync = ss;
unlock();
@@ -925,17 +986,17 @@ public:
ss->sem->wait();
}
- template<class T, class M, class P1>
- void push_and_sync( T * p_instance, M p_method, P1 p1) {
+ template <class T, class M, class P1>
+ void push_and_sync(T *p_instance, M p_method, P1 p1) {
- CommandSync1<T,M,P1> * cmd = allocate_and_lock< CommandSync1<T,M,P1> >();
+ CommandSync1<T, M, P1> *cmd = allocate_and_lock<CommandSync1<T, M, P1> >();
- cmd->instance=p_instance;
- cmd->method=p_method;
- cmd->p1=p1;
+ cmd->instance = p_instance;
+ cmd->method = p_method;
+ cmd->p1 = p1;
- SyncSemaphore *ss=_alloc_sync_sem();
- cmd->sync=ss;
+ SyncSemaphore *ss = _alloc_sync_sem();
+ cmd->sync = ss;
unlock();
@@ -943,18 +1004,18 @@ public:
ss->sem->wait();
}
- template<class T, class M, class P1, class P2>
- void push_and_sync( T * p_instance, M p_method, P1 p1, P2 p2) {
+ template <class T, class M, class P1, class P2>
+ void push_and_sync(T *p_instance, M p_method, P1 p1, P2 p2) {
- CommandSync2<T,M,P1,P2> * cmd = allocate_and_lock< CommandSync2<T,M,P1,P2> >();
+ CommandSync2<T, M, P1, P2> *cmd = allocate_and_lock<CommandSync2<T, M, P1, P2> >();
- cmd->instance=p_instance;
- cmd->method=p_method;
- cmd->p1=p1;
- cmd->p2=p2;
+ cmd->instance = p_instance;
+ cmd->method = p_method;
+ cmd->p1 = p1;
+ cmd->p2 = p2;
- SyncSemaphore *ss=_alloc_sync_sem();
- cmd->sync=ss;
+ SyncSemaphore *ss = _alloc_sync_sem();
+ cmd->sync = ss;
unlock();
@@ -962,19 +1023,19 @@ public:
ss->sem->wait();
}
- template<class T, class M, class P1, class P2, class P3>
- void push_and_sync( T * p_instance, M p_method, P1 p1, P2 p2, P3 p3 ) {
+ template <class T, class M, class P1, class P2, class P3>
+ void push_and_sync(T *p_instance, M p_method, P1 p1, P2 p2, P3 p3) {
- CommandSync3<T,M,P1,P2,P3> * cmd = allocate_and_lock< CommandSync3<T,M,P1,P2,P3> >();
+ CommandSync3<T, M, P1, P2, P3> *cmd = allocate_and_lock<CommandSync3<T, M, P1, P2, P3> >();
- cmd->instance=p_instance;
- cmd->method=p_method;
- cmd->p1=p1;
- cmd->p2=p2;
- cmd->p3=p3;
+ cmd->instance = p_instance;
+ cmd->method = p_method;
+ cmd->p1 = p1;
+ cmd->p2 = p2;
+ cmd->p3 = p3;
- SyncSemaphore *ss=_alloc_sync_sem();
- cmd->sync=ss;
+ SyncSemaphore *ss = _alloc_sync_sem();
+ cmd->sync = ss;
unlock();
@@ -982,20 +1043,20 @@ public:
ss->sem->wait();
}
- template<class T, class M, class P1, class P2, class P3, class P4>
- void push_and_sync( T * p_instance, M p_method, P1 p1, P2 p2, P3 p3, P4 p4 ) {
+ template <class T, class M, class P1, class P2, class P3, class P4>
+ void push_and_sync(T *p_instance, M p_method, P1 p1, P2 p2, P3 p3, P4 p4) {
- CommandSync4<T,M,P1,P2,P3,P4> * cmd = allocate_and_lock< CommandSync4<T,M,P1,P2,P3,P4> >();
+ CommandSync4<T, M, P1, P2, P3, P4> *cmd = allocate_and_lock<CommandSync4<T, M, P1, P2, P3, P4> >();
- cmd->instance=p_instance;
- cmd->method=p_method;
- cmd->p1=p1;
- cmd->p2=p2;
- cmd->p3=p3;
- cmd->p4=p4;
+ cmd->instance = p_instance;
+ cmd->method = p_method;
+ cmd->p1 = p1;
+ cmd->p2 = p2;
+ cmd->p3 = p3;
+ cmd->p4 = p4;
- SyncSemaphore *ss=_alloc_sync_sem();
- cmd->sync=ss;
+ SyncSemaphore *ss = _alloc_sync_sem();
+ cmd->sync = ss;
unlock();
@@ -1003,21 +1064,21 @@ public:
ss->sem->wait();
}
- template<class T, class M, class P1, class P2, class P3, class P4, class P5>
- void push_and_sync( T * p_instance, M p_method, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5 ) {
+ template <class T, class M, class P1, class P2, class P3, class P4, class P5>
+ void push_and_sync(T *p_instance, M p_method, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5) {
- CommandSync5<T,M,P1,P2,P3,P4,P5> * cmd = allocate_and_lock< CommandSync5<T,M,P1,P2,P3,P4,P5> >();
+ CommandSync5<T, M, P1, P2, P3, P4, P5> *cmd = allocate_and_lock<CommandSync5<T, M, P1, P2, P3, P4, P5> >();
- cmd->instance=p_instance;
- cmd->method=p_method;
- cmd->p1=p1;
- cmd->p2=p2;
- cmd->p3=p3;
- cmd->p4=p4;
- cmd->p5=p5;
+ cmd->instance = p_instance;
+ cmd->method = p_method;
+ cmd->p1 = p1;
+ cmd->p2 = p2;
+ cmd->p3 = p3;
+ cmd->p4 = p4;
+ cmd->p5 = p5;
- SyncSemaphore *ss=_alloc_sync_sem();
- cmd->sync=ss;
+ SyncSemaphore *ss = _alloc_sync_sem();
+ cmd->sync = ss;
unlock();
@@ -1025,22 +1086,22 @@ public:
ss->sem->wait();
}
- template<class T, class M, class P1, class P2, class P3, class P4, class P5, class P6>
- void push_and_sync( T * p_instance, M p_method, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6 ) {
+ template <class T, class M, class P1, class P2, class P3, class P4, class P5, class P6>
+ void push_and_sync(T *p_instance, M p_method, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) {
- CommandSync6<T,M,P1,P2,P3,P4,P5,P6> * cmd = allocate_and_lock< CommandSync6<T,M,P1,P2,P3,P4,P5,P6> >();
+ CommandSync6<T, M, P1, P2, P3, P4, P5, P6> *cmd = allocate_and_lock<CommandSync6<T, M, P1, P2, P3, P4, P5, P6> >();
- cmd->instance=p_instance;
- cmd->method=p_method;
- cmd->p1=p1;
- cmd->p2=p2;
- cmd->p3=p3;
- cmd->p4=p4;
- cmd->p5=p5;
- cmd->p6=p6;
+ cmd->instance = p_instance;
+ cmd->method = p_method;
+ cmd->p1 = p1;
+ cmd->p2 = p2;
+ cmd->p3 = p3;
+ cmd->p4 = p4;
+ cmd->p5 = p5;
+ cmd->p6 = p6;
- SyncSemaphore *ss=_alloc_sync_sem();
- cmd->sync=ss;
+ SyncSemaphore *ss = _alloc_sync_sem();
+ cmd->sync = ss;
unlock();
@@ -1048,23 +1109,23 @@ public:
ss->sem->wait();
}
- template<class T, class M, class P1, class P2, class P3, class P4, class P5, class P6,class P7>
- void push_and_sync( T * p_instance, M p_method, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6,P7 p7 ) {
+ template <class T, class M, class P1, class P2, class P3, class P4, class P5, class P6, class P7>
+ void push_and_sync(T *p_instance, M p_method, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7) {
- CommandSync7<T,M,P1,P2,P3,P4,P5,P6,P7> * cmd = allocate_and_lock< CommandSync7<T,M,P1,P2,P3,P4,P5,P6,P7> >();
+ CommandSync7<T, M, P1, P2, P3, P4, P5, P6, P7> *cmd = allocate_and_lock<CommandSync7<T, M, P1, P2, P3, P4, P5, P6, P7> >();
- cmd->instance=p_instance;
- cmd->method=p_method;
- cmd->p1=p1;
- cmd->p2=p2;
- cmd->p3=p3;
- cmd->p4=p4;
- cmd->p5=p5;
- cmd->p6=p6;
- cmd->p7=p7;
+ cmd->instance = p_instance;
+ cmd->method = p_method;
+ cmd->p1 = p1;
+ cmd->p2 = p2;
+ cmd->p3 = p3;
+ cmd->p4 = p4;
+ cmd->p5 = p5;
+ cmd->p6 = p6;
+ cmd->p7 = p7;
- SyncSemaphore *ss=_alloc_sync_sem();
- cmd->sync=ss;
+ SyncSemaphore *ss = _alloc_sync_sem();
+ cmd->sync = ss;
unlock();
@@ -1072,24 +1133,24 @@ public:
ss->sem->wait();
}
- template<class T, class M, class P1, class P2, class P3, class P4, class P5, class P6,class P7,class P8>
- void push_and_sync( T * p_instance, M p_method, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6,P7 p7,P8 p8) {
+ template <class T, class M, class P1, class P2, class P3, class P4, class P5, class P6, class P7, class P8>
+ void push_and_sync(T *p_instance, M p_method, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8) {
- CommandSync8<T,M,P1,P2,P3,P4,P5,P6,P7,P8> * cmd = allocate_and_lock< CommandSync8<T,M,P1,P2,P3,P4,P5,P6,P7,P8> >();
+ CommandSync8<T, M, P1, P2, P3, P4, P5, P6, P7, P8> *cmd = allocate_and_lock<CommandSync8<T, M, P1, P2, P3, P4, P5, P6, P7, P8> >();
- cmd->instance=p_instance;
- cmd->method=p_method;
- cmd->p1=p1;
- cmd->p2=p2;
- cmd->p3=p3;
- cmd->p4=p4;
- cmd->p5=p5;
- cmd->p6=p6;
- cmd->p7=p7;
- cmd->p8=p8;
+ cmd->instance = p_instance;
+ cmd->method = p_method;
+ cmd->p1 = p1;
+ cmd->p2 = p2;
+ cmd->p3 = p3;
+ cmd->p4 = p4;
+ cmd->p5 = p5;
+ cmd->p6 = p6;
+ cmd->p7 = p7;
+ cmd->p8 = p8;
- SyncSemaphore *ss=_alloc_sync_sem();
- cmd->sync=ss;
+ SyncSemaphore *ss = _alloc_sync_sem();
+ cmd->sync = ss;
unlock();
@@ -1119,7 +1180,6 @@ public:
CommandQueueMT(bool p_sync);
~CommandQueueMT();
-
};
#endif