2 * Copyright (c) 2009, 2010 Zmanda, Inc. All Rights Reserved.
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License version 2 as published
6 * by the Free Software Foundation.
8 * This program is distributed in the hope that it will be useful, but
9 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
10 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13 * You should have received a copy of the GNU General Public License along
14 * with this program; if not, write to the Free Software Foundation, Inc.,
15 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 * Contact information: Zmanda Inc., 465 S. Mathilda Ave., Suite 300
18 * Sunnyvale, CA 94085, USA, or: http://www.zmanda.com
21 %module "Amanda::XferServer"
22 %include "amglue/amglue.swg"
23 %include "exception.i"
24 %import "Amanda/Xfer.swg"
25 %import "Amanda/Device.swg"
26 %import "Amanda/Header.swg"
28 %include "Amanda/XferServer.pod"
31 #include "glib-util.h"
33 #include "xfer-device.h"
34 #include "xfer-server.h"
37 %newobject xfer_source_device;
38 XferElement *xfer_source_device(
41 %newobject xfer_dest_device;
42 XferElement *xfer_dest_device(
44 gboolean cancel_at_leom);
46 %newobject xfer_source_holding;
47 XferElement * xfer_source_holding(
48 const char *filename);
50 %newobject xfer_dest_taper_splitter;
51 XferElement *xfer_dest_taper_splitter(
55 gboolean expect_cache_inform);
57 %newobject xfer_dest_taper_cacher;
58 XferElement *xfer_dest_taper_cacher(
62 gboolean use_mem_cache,
63 const char *disk_cache_dirname);
65 %newobject xfer_dest_taper_directtcp;
66 XferElement *xfer_dest_taper_directtcp(
70 void xfer_dest_taper_start_part(
75 void xfer_dest_taper_use_device(
79 void xfer_dest_taper_cache_inform(
85 guint64 xfer_dest_taper_get_part_bytes_written(
88 %newobject xfer_source_recovery;
89 XferElement *xfer_source_recovery(Device *first_device);
91 void xfer_source_recovery_start_part(
95 void xfer_source_recovery_use_device(
101 PACKAGE(Amanda::Xfer::Source::Device)
102 XFER_ELEMENT_SUBCLASS()
103 DECLARE_CONSTRUCTOR(Amanda::XferServer::xfer_source_device)
107 PACKAGE(Amanda::Xfer::Dest::Device)
108 XFER_ELEMENT_SUBCLASS()
109 DECLARE_CONSTRUCTOR(Amanda::XferServer::xfer_dest_device)
113 PACKAGE(Amanda::Xfer::Source::Holding)
114 XFER_ELEMENT_SUBCLASS()
115 DECLARE_CONSTRUCTOR(Amanda::XferServer::xfer_source_holding)
119 PACKAGE(Amanda::Xfer::Dest::Taper)
120 XFER_ELEMENT_SUBCLASS()
121 DECLARE_METHOD(use_device, Amanda::XferServer::xfer_dest_taper_use_device)
122 DECLARE_METHOD(start_part, Amanda::XferServer::xfer_dest_taper_start_part)
123 DECLARE_METHOD(cache_inform, Amanda::XferServer::xfer_dest_taper_cache_inform)
124 DECLARE_METHOD(get_part_bytes_written, Amanda::XferServer::xfer_dest_taper_get_part_bytes_written)
128 PACKAGE(Amanda::Xfer::Dest::Taper::Splitter)
129 XFER_ELEMENT_SUBCLASS_OF(Amanda::Xfer::Dest::Taper)
130 DECLARE_CONSTRUCTOR(Amanda::XferServer::xfer_dest_taper_splitter)
134 PACKAGE(Amanda::Xfer::Dest::Taper::Cacher)
135 XFER_ELEMENT_SUBCLASS_OF(Amanda::Xfer::Dest::Taper)
136 DECLARE_CONSTRUCTOR(Amanda::XferServer::xfer_dest_taper_cacher)
140 PACKAGE(Amanda::Xfer::Dest::Taper::DirectTCP)
141 XFER_ELEMENT_SUBCLASS_OF(Amanda::Xfer::Dest::Taper)
142 DECLARE_CONSTRUCTOR(Amanda::XferServer::xfer_dest_taper_directtcp)
146 PACKAGE(Amanda::Xfer::Source::Recovery)
147 XFER_ELEMENT_SUBCLASS()
148 DECLARE_CONSTRUCTOR(Amanda::XferServer::xfer_source_recovery)
149 DECLARE_METHOD(start_part, Amanda::XferServer::xfer_source_recovery_start_part)
150 DECLARE_METHOD(use_device, Amanda::XferServer::xfer_source_recovery_use_device)