PythonQt
PythonQtCppWrapperFactory.h
Go to the documentation of this file.
1 #ifndef _PYTHONQTCPPWRAPPERFACTORY_H
2 #define _PYTHONQTCPPWRAPPERFACTORY_H
3 
4 /*
5  *
6  * Copyright (C) 2010 MeVis Medical Solutions AG All Rights Reserved.
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public
10  * License as published by the Free Software Foundation; either
11  * version 2.1 of the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  * Lesser General Public License for more details.
17  *
18  * Further, this software is distributed without any warranty that it is
19  * free of the rightful claim of any third person regarding infringement
20  * or the like. Any license provided herein, whether implied or
21  * otherwise, applies only to this software file. Patent licenses, if
22  * any, provided herein do not apply to combinations of this program with
23  * other software, or any other product whatsoever.
24  *
25  * You should have received a copy of the GNU Lesser General Public
26  * License along with this library; if not, write to the Free Software
27  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
28  *
29  * Contact information: MeVis Medical Solutions AG, Universitaetsallee 29,
30  * 28359 Bremen, Germany or:
31  *
32  * http://www.mevis.de
33  *
34  */
35 
36 //----------------------------------------------------------------------------------
43 //----------------------------------------------------------------------------------
44 
45 #include "PythonQtPythonInclude.h"
46 
47 #include "PythonQtSystem.h"
48 #include <QObject>
49 #include <QByteArray>
50 
52 
57 {
58  Q_DISABLE_COPY(PythonQtCppWrapperFactory)
59 public:
62 
64  virtual QObject* create(const QByteArray& classname, void *ptr) = 0;
65 
66 };
67 
71 {
72  Q_DISABLE_COPY(PythonQtForeignWrapperFactory)
73 public:
76 
79  virtual PyObject* wrap(const QByteArray& classname, void *ptr) = 0;
80 
83  virtual void* unwrap(const QByteArray& classname, PyObject* object) = 0;
84 
85 };
86 
87 #endif
88 
struct _object PyObject
#define PYTHONQT_EXPORT
Factory interface for C++ classes that can be wrapped by QObject objects.
virtual QObject * create(const QByteArray &classname, void *ptr)=0
create a wrapper for the given object
virtual PyObject * wrap(const QByteArray &classname, void *ptr)=0
virtual void * unwrap(const QByteArray &classname, PyObject *object)=0