diff options
Diffstat (limited to 'processmodel')
| -rw-r--r-- | processmodel/Makefile | 252 | ||||
| -rw-r--r-- | processmodel/processmodel.cpp | 32 | ||||
| -rw-r--r-- | processmodel/rendercontext_src/Makefile | 252 | ||||
| -rw-r--r-- | processmodel/rendercontext_src/rendercontext.cpp | 16 |
4 files changed, 552 insertions, 0 deletions
diff --git a/processmodel/Makefile b/processmodel/Makefile new file mode 100644 index 0000000..d2546e0 --- /dev/null +++ b/processmodel/Makefile @@ -0,0 +1,252 @@ +# The pre-processor and compiler options. + +#http://docs.gstreamer.com/display/GstSDK/Installing+on+Linux + +#MY_CFLAGS = -fpermissive -std=c++11 -Wno-error -I /opt/gstreamer-sdk/include/gstreamer-0.10/ -I /opt/gstreamer-sdk/include/glib-2.0 -I /opt/gstreamer-sdk/lib/glib-2.0/include -I /opt/gstreamer-sdk/include/libxml2 $(shell pkg-config gstreamer-0.10 gstreamer-video-0.10 gstreamer-base-0.10 --cflags) +MY_CFLAGS = -fpermissive -std=c++11 +#-Wno-error $(shell pkg-config gstreamer-0.10 gstreamer-video-0.10 gstreamer-base-0.10 --cflags) + +# -I ../ffmpeg + +# The linker options.libgstaasinklibgstaasink.so +MY_LIBS = -lPocoNet -lPocoXML -lPocoUtil -lPocoFoundation -lvamp-hostsdk -lsndfile -L /usr/local/lib -lswscale -lavcodec -lavformat -lavfilter -lavdevice -lavutil +#MY_LIBS = -lPocoNet -lPocoXML -lPocoUtil -lPocoFoundation -lvamp-hostsdk -lsndfile -L /usr/local/lib -lswscale -lavcodec -lavformat -lavfilter -lavdevice -lavutil $(shell pkg-config gstreamer-0.10 gstreamer-video-0.10 gstreamer-base-0.10 --libs) +# -lgstreamer-0.10 -lgstreamer-video-0.10 -lgstreamer-base-0.10 -lglib-2.0 -lgstapp-0.10 +#MY_LIBS = ../libavcodec/ffmpeg/libavcodec/libavcodec.a ../libavcodec/ffmpeg/libavutil/libavutil.a ../libavcodec/ffmpeg/libavformat/libavformat.a ../libavcodec/ffmpeg/libavfilter/libavfilter.a ../libavcodec/ffmpeg/libavdevice/libavdevice.a -lPocoNet -lPocoXML -lPocoUtil -lPocoFoundation -lvamp-hostsdk +#GAH! HARD! + +# The pre-processor options used by the cpp (man cpp for more). +CPPFLAGS = -Wall + +# The options used in linking as well as in any direct use of ld. +LDFLAGS = + +# The directories in which source files reside. +# If not specified, only the current directory will be serached. +SRCDIRS = + +# The executable file name. +# If not specified, current directory name or `a.out' will be used. +PROGRAM = + +## Implicit Section: change the following only when necessary. +##========================================================================== + +# The source file types (headers excluded). +# .c indicates C source files, and others C++ ones. +SRCEXTS = .c .C .cc .cpp .CPP .c++ .cxx .cp + +# The header file types. +HDREXTS = .h .H .hh .hpp .HPP .h++ .hxx .hp + +# The pre-processor and compiler options. +# Users can override those variables from the command line. +CFLAGS = -g -O2 +CXXFLAGS= + +# The C program compiler. +#CC = gcc + +# The C++ program compiler. +#CXX = g++ + +# Un-comment the following line to compile C programs as C++ ones. +#CC = $(CXX) + +# The command used to delete file. +RM = rm -f + +ETAGS = etags +ETAGSFLAGS = + +CTAGS = ctags +CTAGSFLAGS = + +## Stable Section: usually no need to be changed. But you can add more. +##========================================================================== +SHELL = /bin/sh +EMPTY = +SPACE = $(EMPTY) $(EMPTY) +ifeq ($(PROGRAM),) + CUR_PATH_NAMES = $(subst /,$(SPACE),$(subst $(SPACE),_,$(CURDIR))) + PROGRAM = $(word $(words $(CUR_PATH_NAMES)),$(CUR_PATH_NAMES)) + ifeq ($(PROGRAM),) + PROGRAM = a.out + endif +endif +ifeq ($(SRCDIRS),) + SRCDIRS = . +endif +SOURCES = $(foreach d,$(SRCDIRS),$(wildcard $(addprefix $(d)/*,$(SRCEXTS)))) +HEADERS = $(foreach d,$(SRCDIRS),$(wildcard $(addprefix $(d)/*,$(HDREXTS)))) +SRC_CXX = $(filter-out %.c,$(SOURCES)) +OBJS = $(addsuffix .o, $(basename $(SOURCES))) +DEPS = $(OBJS:.o=.d) + +## Define some useful variables. +DEP_OPT = $(shell if `$(CC) --version | grep "GCC" >/dev/null`; then \ + echo "-MM -MP"; else echo "-M"; fi ) +DEPEND = $(CC) $(DEP_OPT) $(MY_CFLAGS) $(CFLAGS) $(CPPFLAGS) +DEPEND.d = $(subst -g ,,$(DEPEND)) +COMPILE.c = $(CC) $(MY_CFLAGS) $(CFLAGS) $(CPPFLAGS) -c +COMPILE.cxx = $(CXX) $(MY_CFLAGS) $(CXXFLAGS) $(CPPFLAGS) -c +LINK.c = $(CC) $(MY_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) +LINK.cxx = $(CXX) $(MY_CFLAGS) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) + +.PHONY: all objs tags ctags clean distclean help show install + +# Delete the default suffixes +.SUFFIXES: + +all: Release + +Clang: CXX = clang + +Clang: $(PROGRAM) + +Release: CXXFLAGS += -O2 + +Release: $(PROGRAM) + +Debug: CXXFLAGS += -g3 + +Debug: $(PROGRAM) + +prefix=/usr/local + +Install: rotord + strip rotord + install -m 0755 rotord $(prefix)/bin + + +# Rules for creating dependency files (.d). +#------------------------------------------ + +%.d:%.c + @echo -n $(dir $<) > $@ + @$(DEPEND.d) $< >> $@ + +%.d:%.C + @echo -n $(dir $<) > $@ + @$(DEPEND.d) $< >> $@ + +%.d:%.cc + @echo -n $(dir $<) > $@ + @$(DEPEND.d) $< >> $@ + +%.d:%.cpp + @echo -n $(dir $<) > $@ + @$(DEPEND.d) $< >> $@ + +%.d:%.CPP + @echo -n $(dir $<) > $@ + @$(DEPEND.d) $< >> $@ + +%.d:%.c++ + @echo -n $(dir $<) > $@ + @$(DEPEND.d) $< >> $@ + +%.d:%.cp + @echo -n $(dir $<) > $@ + @$(DEPEND.d) $< >> $@ + +%.d:%.cxx + @echo -n $(dir $<) > $@ + @$(DEPEND.d) $< >> $@ + +# Rules for generating object files (.o). +#---------------------------------------- +objs:$(OBJS) + +%.o:%.c + $(COMPILE.c) $< -o $@ + +%.o:%.C + $(COMPILE.cxx) $< -o $@ + +%.o:%.cc + $(COMPILE.cxx) $< -o $@ + +%.o:%.cpp + $(COMPILE.cxx) $< -o $@ + +%.o:%.CPP + $(COMPILE.cxx) $< -o $@ + +%.o:%.c++ + $(COMPILE.cxx) $< -o $@ + +%.o:%.cp + $(COMPILE.cxx) $< -o $@ + +%.o:%.cxx + $(COMPILE.cxx) $< -o $@ + +# Rules for generating the tags. +#------------------------------------- +tags: $(HEADERS) $(SOURCES) + $(ETAGS) $(ETAGSFLAGS) $(HEADERS) $(SOURCES) + +ctags: $(HEADERS) $(SOURCES) + $(CTAGS) $(CTAGSFLAGS) $(HEADERS) $(SOURCES) + +# Rules for generating the executable. +#------------------------------------- +$(PROGRAM):$(OBJS) +ifeq ($(SRC_CXX),) # C program + $(LINK.c) $(OBJS) $(MY_LIBS) -o $@ + @echo Type ./$@ to execute the program. +else # C++ program + $(LINK.cxx) $(OBJS) $(MY_LIBS) -o $@ + @echo Type ./$@ to execute the program. +endif + +ifndef NODEP +ifneq ($(DEPS),) + sinclude $(DEPS) +endif +endif + + +clean: + $(RM) $(OBJS) $(PROGRAM) $(PROGRAM).exe + +distclean: clean + $(RM) $(DEPS) TAGS + +# Show help. +help: + @echo 'Generic Makefile for C/C++ Programs (gcmakefile) version 0.5' + @echo 'Copyright (C) 2007, 2008 whyglinux <whyglinux@hotmail.com>' + @echo + @echo 'Usage: make [TARGET]' + @echo 'TARGETS:' + @echo ' all (=make) compile and link.' + @echo ' NODEP=yes make without generating dependencies.' + @echo ' objs compile only (no linking).' + @echo ' tags create tags for Emacs editor.' + @echo ' ctags create ctags for VI editor.' + @echo ' clean clean objects and the executable file.' + @echo ' distclean clean objects, the executable and dependencies.' + @echo ' show show variables (for debug use only).' + @echo ' help print this message.' + @echo + @echo 'Report bugs to <whyglinux AT gmail DOT com>.' + +# Show variables (for debug use only.) +show: + @echo 'PROGRAM :' $(PROGRAM) + @echo 'SRCDIRS :' $(SRCDIRS) + @echo 'HEADERS :' $(HEADERS) + @echo 'SOURCES :' $(SOURCES) + @echo 'SRC_CXX :' $(SRC_CXX) + @echo 'OBJS :' $(OBJS) + @echo 'DEPS :' $(DEPS) + @echo 'DEPEND :' $(DEPEND) + @echo 'COMPILE.c :' $(COMPILE.c) + @echo 'COMPILE.cxx :' $(COMPILE.cxx) + @echo 'link.c :' $(LINK.c) + @echo 'link.cxx :' $(LINK.cxx) + +## End of the Makefile ## Suggestions are welcome ## All rights reserved ## +############################################################################# diff --git a/processmodel/processmodel.cpp b/processmodel/processmodel.cpp new file mode 100644 index 0000000..ee75638 --- /dev/null +++ b/processmodel/processmodel.cpp @@ -0,0 +1,32 @@ +#include "Poco/Process.h" +#include "Poco/PipeStream.h" +#include "Poco/StreamCopier.h" +#include <fstream> +#include <iostream> +using Poco::Process; +using Poco::ProcessHandle; + +//1. make a basic executable that represents a render context +//get message passing going +//incorporate in REST server +//fill in the details + +int main(int argc, char** argv) +{ + std::string cmd("rendercontext"); + std::vector<std::string> args; + args.push_back("-ax"); + Poco::Pipe outPipe; + Poco::Pipe inPipe; + ProcessHandle ph = Process::launch(cmd, args, &inPipe, &outPipe, 0); + Poco::PipeInputStream istr(outPipe); + Poco::PipeOutputStream ostr(inPipe); + //std::ofstream ostr("processes.txt"); + // + while (true){ + //Poco::StreamCopier::copyStream(istr,std::cout); + ostr<<std::cin; + std::cout<<istr; + } + return 0; +}
\ No newline at end of file diff --git a/processmodel/rendercontext_src/Makefile b/processmodel/rendercontext_src/Makefile new file mode 100644 index 0000000..d2546e0 --- /dev/null +++ b/processmodel/rendercontext_src/Makefile @@ -0,0 +1,252 @@ +# The pre-processor and compiler options. + +#http://docs.gstreamer.com/display/GstSDK/Installing+on+Linux + +#MY_CFLAGS = -fpermissive -std=c++11 -Wno-error -I /opt/gstreamer-sdk/include/gstreamer-0.10/ -I /opt/gstreamer-sdk/include/glib-2.0 -I /opt/gstreamer-sdk/lib/glib-2.0/include -I /opt/gstreamer-sdk/include/libxml2 $(shell pkg-config gstreamer-0.10 gstreamer-video-0.10 gstreamer-base-0.10 --cflags) +MY_CFLAGS = -fpermissive -std=c++11 +#-Wno-error $(shell pkg-config gstreamer-0.10 gstreamer-video-0.10 gstreamer-base-0.10 --cflags) + +# -I ../ffmpeg + +# The linker options.libgstaasinklibgstaasink.so +MY_LIBS = -lPocoNet -lPocoXML -lPocoUtil -lPocoFoundation -lvamp-hostsdk -lsndfile -L /usr/local/lib -lswscale -lavcodec -lavformat -lavfilter -lavdevice -lavutil +#MY_LIBS = -lPocoNet -lPocoXML -lPocoUtil -lPocoFoundation -lvamp-hostsdk -lsndfile -L /usr/local/lib -lswscale -lavcodec -lavformat -lavfilter -lavdevice -lavutil $(shell pkg-config gstreamer-0.10 gstreamer-video-0.10 gstreamer-base-0.10 --libs) +# -lgstreamer-0.10 -lgstreamer-video-0.10 -lgstreamer-base-0.10 -lglib-2.0 -lgstapp-0.10 +#MY_LIBS = ../libavcodec/ffmpeg/libavcodec/libavcodec.a ../libavcodec/ffmpeg/libavutil/libavutil.a ../libavcodec/ffmpeg/libavformat/libavformat.a ../libavcodec/ffmpeg/libavfilter/libavfilter.a ../libavcodec/ffmpeg/libavdevice/libavdevice.a -lPocoNet -lPocoXML -lPocoUtil -lPocoFoundation -lvamp-hostsdk +#GAH! HARD! + +# The pre-processor options used by the cpp (man cpp for more). +CPPFLAGS = -Wall + +# The options used in linking as well as in any direct use of ld. +LDFLAGS = + +# The directories in which source files reside. +# If not specified, only the current directory will be serached. +SRCDIRS = + +# The executable file name. +# If not specified, current directory name or `a.out' will be used. +PROGRAM = + +## Implicit Section: change the following only when necessary. +##========================================================================== + +# The source file types (headers excluded). +# .c indicates C source files, and others C++ ones. +SRCEXTS = .c .C .cc .cpp .CPP .c++ .cxx .cp + +# The header file types. +HDREXTS = .h .H .hh .hpp .HPP .h++ .hxx .hp + +# The pre-processor and compiler options. +# Users can override those variables from the command line. +CFLAGS = -g -O2 +CXXFLAGS= + +# The C program compiler. +#CC = gcc + +# The C++ program compiler. +#CXX = g++ + +# Un-comment the following line to compile C programs as C++ ones. +#CC = $(CXX) + +# The command used to delete file. +RM = rm -f + +ETAGS = etags +ETAGSFLAGS = + +CTAGS = ctags +CTAGSFLAGS = + +## Stable Section: usually no need to be changed. But you can add more. +##========================================================================== +SHELL = /bin/sh +EMPTY = +SPACE = $(EMPTY) $(EMPTY) +ifeq ($(PROGRAM),) + CUR_PATH_NAMES = $(subst /,$(SPACE),$(subst $(SPACE),_,$(CURDIR))) + PROGRAM = $(word $(words $(CUR_PATH_NAMES)),$(CUR_PATH_NAMES)) + ifeq ($(PROGRAM),) + PROGRAM = a.out + endif +endif +ifeq ($(SRCDIRS),) + SRCDIRS = . +endif +SOURCES = $(foreach d,$(SRCDIRS),$(wildcard $(addprefix $(d)/*,$(SRCEXTS)))) +HEADERS = $(foreach d,$(SRCDIRS),$(wildcard $(addprefix $(d)/*,$(HDREXTS)))) +SRC_CXX = $(filter-out %.c,$(SOURCES)) +OBJS = $(addsuffix .o, $(basename $(SOURCES))) +DEPS = $(OBJS:.o=.d) + +## Define some useful variables. +DEP_OPT = $(shell if `$(CC) --version | grep "GCC" >/dev/null`; then \ + echo "-MM -MP"; else echo "-M"; fi ) +DEPEND = $(CC) $(DEP_OPT) $(MY_CFLAGS) $(CFLAGS) $(CPPFLAGS) +DEPEND.d = $(subst -g ,,$(DEPEND)) +COMPILE.c = $(CC) $(MY_CFLAGS) $(CFLAGS) $(CPPFLAGS) -c +COMPILE.cxx = $(CXX) $(MY_CFLAGS) $(CXXFLAGS) $(CPPFLAGS) -c +LINK.c = $(CC) $(MY_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) +LINK.cxx = $(CXX) $(MY_CFLAGS) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) + +.PHONY: all objs tags ctags clean distclean help show install + +# Delete the default suffixes +.SUFFIXES: + +all: Release + +Clang: CXX = clang + +Clang: $(PROGRAM) + +Release: CXXFLAGS += -O2 + +Release: $(PROGRAM) + +Debug: CXXFLAGS += -g3 + +Debug: $(PROGRAM) + +prefix=/usr/local + +Install: rotord + strip rotord + install -m 0755 rotord $(prefix)/bin + + +# Rules for creating dependency files (.d). +#------------------------------------------ + +%.d:%.c + @echo -n $(dir $<) > $@ + @$(DEPEND.d) $< >> $@ + +%.d:%.C + @echo -n $(dir $<) > $@ + @$(DEPEND.d) $< >> $@ + +%.d:%.cc + @echo -n $(dir $<) > $@ + @$(DEPEND.d) $< >> $@ + +%.d:%.cpp + @echo -n $(dir $<) > $@ + @$(DEPEND.d) $< >> $@ + +%.d:%.CPP + @echo -n $(dir $<) > $@ + @$(DEPEND.d) $< >> $@ + +%.d:%.c++ + @echo -n $(dir $<) > $@ + @$(DEPEND.d) $< >> $@ + +%.d:%.cp + @echo -n $(dir $<) > $@ + @$(DEPEND.d) $< >> $@ + +%.d:%.cxx + @echo -n $(dir $<) > $@ + @$(DEPEND.d) $< >> $@ + +# Rules for generating object files (.o). +#---------------------------------------- +objs:$(OBJS) + +%.o:%.c + $(COMPILE.c) $< -o $@ + +%.o:%.C + $(COMPILE.cxx) $< -o $@ + +%.o:%.cc + $(COMPILE.cxx) $< -o $@ + +%.o:%.cpp + $(COMPILE.cxx) $< -o $@ + +%.o:%.CPP + $(COMPILE.cxx) $< -o $@ + +%.o:%.c++ + $(COMPILE.cxx) $< -o $@ + +%.o:%.cp + $(COMPILE.cxx) $< -o $@ + +%.o:%.cxx + $(COMPILE.cxx) $< -o $@ + +# Rules for generating the tags. +#------------------------------------- +tags: $(HEADERS) $(SOURCES) + $(ETAGS) $(ETAGSFLAGS) $(HEADERS) $(SOURCES) + +ctags: $(HEADERS) $(SOURCES) + $(CTAGS) $(CTAGSFLAGS) $(HEADERS) $(SOURCES) + +# Rules for generating the executable. +#------------------------------------- +$(PROGRAM):$(OBJS) +ifeq ($(SRC_CXX),) # C program + $(LINK.c) $(OBJS) $(MY_LIBS) -o $@ + @echo Type ./$@ to execute the program. +else # C++ program + $(LINK.cxx) $(OBJS) $(MY_LIBS) -o $@ + @echo Type ./$@ to execute the program. +endif + +ifndef NODEP +ifneq ($(DEPS),) + sinclude $(DEPS) +endif +endif + + +clean: + $(RM) $(OBJS) $(PROGRAM) $(PROGRAM).exe + +distclean: clean + $(RM) $(DEPS) TAGS + +# Show help. +help: + @echo 'Generic Makefile for C/C++ Programs (gcmakefile) version 0.5' + @echo 'Copyright (C) 2007, 2008 whyglinux <whyglinux@hotmail.com>' + @echo + @echo 'Usage: make [TARGET]' + @echo 'TARGETS:' + @echo ' all (=make) compile and link.' + @echo ' NODEP=yes make without generating dependencies.' + @echo ' objs compile only (no linking).' + @echo ' tags create tags for Emacs editor.' + @echo ' ctags create ctags for VI editor.' + @echo ' clean clean objects and the executable file.' + @echo ' distclean clean objects, the executable and dependencies.' + @echo ' show show variables (for debug use only).' + @echo ' help print this message.' + @echo + @echo 'Report bugs to <whyglinux AT gmail DOT com>.' + +# Show variables (for debug use only.) +show: + @echo 'PROGRAM :' $(PROGRAM) + @echo 'SRCDIRS :' $(SRCDIRS) + @echo 'HEADERS :' $(HEADERS) + @echo 'SOURCES :' $(SOURCES) + @echo 'SRC_CXX :' $(SRC_CXX) + @echo 'OBJS :' $(OBJS) + @echo 'DEPS :' $(DEPS) + @echo 'DEPEND :' $(DEPEND) + @echo 'COMPILE.c :' $(COMPILE.c) + @echo 'COMPILE.cxx :' $(COMPILE.cxx) + @echo 'link.c :' $(LINK.c) + @echo 'link.cxx :' $(LINK.cxx) + +## End of the Makefile ## Suggestions are welcome ## All rights reserved ## +############################################################################# diff --git a/processmodel/rendercontext_src/rendercontext.cpp b/processmodel/rendercontext_src/rendercontext.cpp new file mode 100644 index 0000000..d309c22 --- /dev/null +++ b/processmodel/rendercontext_src/rendercontext.cpp @@ -0,0 +1,16 @@ +#include "Poco/Process.h" +#include "Poco/PipeStream.h" +#include <deque> +#include <iostream> + +int main(int argc, char** argv) +{ + std::deque<int> work_queue; + int count=0; + //while (true){ + // std::cout<<count<<" "<<std::cin; + // count ++; + //} + std::cout<<"hello, world!"<<std::endl; + return 0; +}
\ No newline at end of file |
