SourceForge.net Logo
PythonQt
PythonQtCppWrapperFactory.h
Go to the documentation of this file.
00001 #ifndef _PYTHONQTCPPWRAPPERFACTORY_H
00002 #define _PYTHONQTCPPWRAPPERFACTORY_H
00003 
00004 /*
00005  *
00006  *  Copyright (C) 2010 MeVis Medical Solutions AG All Rights Reserved.
00007  *
00008  *  This library is free software; you can redistribute it and/or
00009  *  modify it under the terms of the GNU Lesser General Public
00010  *  License as published by the Free Software Foundation; either
00011  *  version 2.1 of the License, or (at your option) any later version.
00012  *
00013  *  This library is distributed in the hope that it will be useful,
00014  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00015  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00016  *  Lesser General Public License for more details.
00017  *
00018  *  Further, this software is distributed without any warranty that it is
00019  *  free of the rightful claim of any third person regarding infringement
00020  *  or the like.  Any license provided herein, whether implied or
00021  *  otherwise, applies only to this software file.  Patent licenses, if
00022  *  any, provided herein do not apply to combinations of this program with
00023  *  other software, or any other product whatsoever.
00024  *
00025  *  You should have received a copy of the GNU Lesser General Public
00026  *  License along with this library; if not, write to the Free Software
00027  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00028  *
00029  *  Contact information: MeVis Medical Solutions AG, Universitaetsallee 29,
00030  *  28359 Bremen, Germany or:
00031  *
00032  *  http://www.mevis.de
00033  *
00034  */
00035 
00036 //----------------------------------------------------------------------------------
00043 //----------------------------------------------------------------------------------
00044 
00045 #include "PythonQtPythonInclude.h"
00046 
00047 #include "PythonQtSystem.h"
00048 #include <QObject>
00049 #include <QByteArray>
00050 
00052 
00056 class PYTHONQT_EXPORT PythonQtCppWrapperFactory
00057 {
00058 public:
00059   PythonQtCppWrapperFactory() {};
00060   virtual ~PythonQtCppWrapperFactory() {};
00061 
00063   virtual QObject* create(const QByteArray& classname, void *ptr) = 0;
00064 
00065 };
00066 
00069 class PYTHONQT_EXPORT PythonQtForeignWrapperFactory
00070 {
00071 public:
00072   PythonQtForeignWrapperFactory() {};
00073   virtual ~PythonQtForeignWrapperFactory() {};
00074 
00077   virtual PyObject* wrap(const QByteArray& classname, void *ptr) = 0;
00078 
00081   virtual void*     unwrap(const QByteArray& classname, PyObject* object) = 0;
00082 
00083 };
00084 
00085 #endif
00086