Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

pipe.h

Go to the documentation of this file.
00001 #ifndef PIPE_H
00002 #define PIPE_H
00003 
00004 #include <fcntl.h>
00005 #include "guicast.h"
00006 #include "asset.h"
00007 
00008 extern "C" {
00009         extern int sigpipe_received;
00010 }
00011 
00012 class Pipe {
00013  public:
00014         Pipe::Pipe(char *command, char *sub_str = 0, char sub_char = '%');
00015         Pipe::~Pipe() ;         
00016         int Pipe::open_read() ;
00017         int Pipe::open_write() ;
00018         void Pipe::close() ;
00019 
00020         int fd;
00021  private:
00022         int Pipe::substitute() ;
00023         int Pipe::open(char *mode) ;
00024         
00025         char sub_char;
00026         char *sub_str;
00027         char *command;
00028         char complete[BCTEXTLEN];
00029         FILE *file;
00030 };
00031 
00032 
00033 class PipeCheckBox : public BC_CheckBox 
00034 {
00035  public:
00036         PipeCheckBox(int x, int y, int value, BC_TextBox *textbox);
00037         int handle_event();
00038 
00039  private: 
00040         BC_TextBox *textbox;
00041 };
00042         
00043 
00044 class PipeConfig {
00045  public:
00046         PipeConfig(BC_WindowBase *window, Defaults *defaults, Asset *asset);
00047         // NOTE: Default destructor should destroy all subwindows
00048 
00049         int create_objects(int x, int y, int textbox_width, int format);
00050 
00051         // NOTE: these are public so caller can check final values
00052         PipeCheckBox *checkbox;
00053         BC_TextBox *textbox;
00054         BC_RecentList *recent;
00055         
00056  private:
00057         BC_WindowBase *window;
00058         Defaults *defaults;
00059         Asset *asset;
00060 };
00061 
00062 class PipeStatus : public BC_Title
00063 {
00064  public:
00065         PipeStatus(int x, int y, char *default_string);
00066         int set_status(Asset *asset);
00067  private:
00068         char *default_string;
00069         char status[BCTEXTLEN];
00070 };
00071 
00072 
00073 class PipePreset : public BC_PopupMenu
00074 {
00075  public:
00076         PipePreset(int x, int y, char *title, PipeConfig *config);
00077         int handle_event();
00078         
00079  private: 
00080         PipeConfig *config;
00081         char *title;
00082 };
00083         
00084         
00085 #endif /* PIPE_H */

Generated on Sun Jan 8 13:38:58 2006 for Cinelerra-svn by  doxygen 1.4.4