vips-cpp  8.16
libvips C++ binding
VConnection8.h
1 // VIPS connection wrapper
2 
3 /*
4 
5  This file is part of VIPS.
6 
7  VIPS is free software; you can redistribute it and/or modify
8  it under the terms of the GNU Lesser General Public License as published by
9  the Free Software Foundation; either version 2 of the License, or
10  (at your option) any later version.
11 
12  This program is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  GNU Lesser General Public License for more details.
16 
17  You should have received a copy of the GNU Lesser General Public License
18  along with this program; if not, write to the Free Software
19  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
20  02110-1301 USA
21 
22  */
23 
24 /*
25 
26  These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk
27 
28  */
29 
30 #ifndef VIPS_VCONNECTION_H
31 #define VIPS_VCONNECTION_H
32 
33 #include <vips/vips.h>
34 
35 VIPS_NAMESPACE_START
36 
45 class VSource : public VObject {
46 public:
50  explicit VSource(VipsSource *input, VSteal steal = STEAL)
51  : VObject((VipsObject *) input, steal)
52  {
53  }
54 
58  static VSource
59  new_from_descriptor(int descriptor);
60 
64  static VSource
65  new_from_file(const char *filename);
66 
70  static VSource
71  new_from_blob(VipsBlob *blob);
72 
76  static VSource
77  new_from_memory(const void *data, size_t size);
78 
83  static VSource
84  new_from_options(const char *options);
85 
89  VipsSource *
90  get_source() const
91  {
92  return (VipsSource *) VObject::get_object();
93  }
94 };
95 
104 class VTarget : public VObject {
105 public:
109  explicit VTarget(VipsTarget *output, VSteal steal = STEAL)
110  : VObject((VipsObject *) output, steal)
111  {
112  }
113 
118  static VTarget
119  new_to_descriptor(int descriptor);
120 
124  static VTarget new_to_file(const char *filename);
125 
130  static VTarget new_to_memory();
131 
135  VipsTarget *
136  get_target() const
137  {
138  return (VipsTarget *) VObject::get_object();
139  }
140 };
141 
142 VIPS_NAMESPACE_END
143 
144 #endif /*VIPS_VCONNECTION_H*/
Definition: VImage8.h:67
VipsObject * get_object() const
Definition: VImage8.h:170
Definition: VConnection8.h:45
static VSource new_from_blob(VipsBlob *blob)
Definition: VConnection.cpp:73
static VSource new_from_options(const char *options)
Definition: VConnection.cpp:100
static VSource new_from_file(const char *filename)
Definition: VConnection.cpp:60
VipsSource * get_source() const
Definition: VConnection8.h:90
static VSource new_from_memory(const void *data, size_t size)
Definition: VConnection.cpp:86
VSource(VipsSource *input, VSteal steal=STEAL)
Definition: VConnection8.h:50
static VSource new_from_descriptor(int descriptor)
Definition: VConnection.cpp:47
Definition: VConnection8.h:104
static VTarget new_to_file(const char *filename)
Definition: VConnection.cpp:126
VipsTarget * get_target() const
Definition: VConnection8.h:136
static VTarget new_to_memory()
Definition: VConnection.cpp:139
static VTarget new_to_descriptor(int descriptor)
Definition: VConnection.cpp:113
VTarget(VipsTarget *output, VSteal steal=STEAL)
Definition: VConnection8.h:109