Valkka  0.17.0
OpenSource Video Management
Macros
macro.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define ban_copy_ctor(CLASS)
 
#define ban_copy_asm(CLASS)
 
#define notice_ban_copy_ctor()
 
#define frame_essentials(CLASSNAME, CLASS)
 
#define frame_clone(CLASSNAME, CLASS)
 
#define init_signal_frames(FIFONAME, CONTEXTCLASS)
 
#define clear_signal_frames(FIFONAME, CONTEXTCLASS)
 
#define handle_error(msg)   do { perror(msg); exit(EXIT_FAILURE); } while (0)
 

Detailed Description

Author
Sampsa Riikonen
Date
2017
Version
0.17.0

Macro Definition Documentation

◆ ban_copy_asm

#define ban_copy_asm (   CLASS)
Value:
CLASS &operator= (const CLASS &f) {\
std::cout << "FATAL: copy assignment prohibited for this class" << std::endl;\
perror("FATAL: copy assignment prohibited for this class");\
exit(2);\
};\

◆ ban_copy_ctor

#define ban_copy_ctor (   CLASS)
Value:
CLASS(const CLASS &f) {\
std::cout << "FATAL: copy-construction prohibited for this class" << std::endl;\
perror("FATAL: copy-construction prohibited for this class");\
exit(2);\
};\

◆ clear_signal_frames

#define clear_signal_frames (   FIFONAME,
  CONTEXTCLASS 
)
Value:
Reservoir &res = FIFONAME.getReservoir(FrameClass::signal);\
for(auto it=res.begin(); it!=res.end(); ++it) {\
SignalFrame* f = static_cast<SignalFrame*>(*it);\
delete (CONTEXTCLASS*)(f->custom_signal_ctx);\
};\
signal to AVThread or OpenGLThread. Also custom signals to custom Threads
A frame signaling internal thread commands, states of recorded video, etc.
Definition: frame.h:570

◆ frame_clone

#define frame_clone (   CLASSNAME,
  CLASS 
)
Value:
virtual CLASS *getClone() {\
CLASS *tmpframe = new CLASS();\
*tmpframe = *this;\
return tmpframe;\
};\

◆ frame_essentials

#define frame_essentials (   CLASSNAME,
  CLASS 
)
Value:
virtual FrameClass getFrameClass() {\
return CLASSNAME;\
};\
virtual void copyFrom(Frame *f) {\
CLASS *cf;\
cf=dynamic_cast<CLASS*>(f);\
if (!cf) {\
perror("FATAL : invalid cast at copyFrom");\
exit(5);\
}\
*this =*(cf);\
};\
CLASS(const CLASS &f) {\
std::cout << "FATAL: copy-construction prohibited for frame classes" << std::endl;\
perror("FATAL: copy-construction prohibited for frame classes");\
exit(2);\
};\
FrameClass
Enumeration of Frame classes used by Valkka.
Definition: frame.h:51
Frame: An abstract queueable class.
Definition: frame.h:108

◆ init_signal_frames

#define init_signal_frames (   FIFONAME,
  CONTEXTCLASS 
)
Value:
Reservoir &res = FIFONAME.getReservoir(FrameClass::signal);\
for(auto it=res.begin(); it!=res.end(); ++it) {\
SignalFrame* f = static_cast<SignalFrame*>(*it);\
f->custom_signal_ctx = (void*)(new CONTEXTCLASS());\
};\
signal to AVThread or OpenGLThread. Also custom signals to custom Threads
A frame signaling internal thread commands, states of recorded video, etc.
Definition: frame.h:570
void * custom_signal_ctx
For extensions: thread commands for any thread. TODO: migrate all signal contexes here...
Definition: frame.h:584

◆ notice_ban_copy_ctor

#define notice_ban_copy_ctor ( )
Value:
{\
std::cout << "FATAL: copy-construction prohibited for this class" << std::endl;\
perror("FATAL: copy-construction prohibited for this class");\
exit(2);\
};\