File: pygnomevfs-private.h

package info (click to toggle)
gnome-python 2.28.1%2Bdfsg-1.1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 3,288 kB
  • ctags: 1,032
  • sloc: sh: 10,219; ansic: 7,997; xml: 2,464; python: 1,886; makefile: 394
file content (109 lines) | stat: -rw-r--r-- 2,918 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
/* -*- mode: C; c-basic-offset: 4 -*- */
#ifndef __PYGNOMEVFS_PRIVATE_H_
#define __PYGNOMEVFS_PRIVATE_H_

#ifdef _PYGNOMEVFS_H_
#  error "include pygnomevfs.h or pygnomevfs-private.h, but not both"
#endif

#define _INSIDE_PYGNOMEVFS_
#include "pygnomevfs.h"
#include <libgnomevfs/gnome-vfs-volume.h>
#include <libgnomevfs/gnome-vfs-volume-monitor.h>

#if PY_VERSION_HEX < 0x02050000
typedef int Py_ssize_t;
#define PY_SSIZE_T_MAX INT_MAX
#define PY_SSIZE_T_MIN INT_MIN
typedef inquiry lenfunc;
typedef intargfunc ssizeargfunc;
typedef intobjargproc ssizeobjargproc;
#endif


G_BEGIN_DECLS

/* vfsmodule.c */
extern struct _PyGnomeVFS_Functions pygnomevfs_api_functions;

GnomeVFSResult pygnome_vfs_exception_check(void);
gboolean pygnome_vfs_result_check(GnomeVFSResult result);

/* vfs-contexti.c */
extern PyTypeObject PyGnomeVFSContext_Type;

PyObject *pygnome_vfs_context_new(GnomeVFSContext *context);

/* vfs-uri.c */
extern PyTypeObject PyGnomeVFSURI_Type;

/* takes ownership of URI */
PyObject *pygnome_vfs_uri_new(GnomeVFSURI *uri);

/* vfs-file-info.c */
extern PyTypeObject PyGnomeVFSFileInfo_Type;

PyObject *pygnome_vfs_file_info_new(GnomeVFSFileInfo *finfo);


/* vfs-dir-handle.c */
typedef struct {
    PyObject_HEAD
    GnomeVFSDirectoryHandle *dir;
} PyGnomeVFSDirectoryHandle;
extern PyTypeObject PyGnomeVFSDirectoryHandle_Type;

#define pygnome_vfs_directory_handle_get(v) (((PyGnomeVFSDirectoryHandle *)(v))->dir)
PyObject *pygnome_vfs_directory_handle_new(GnomeVFSDirectoryHandle *dir);


/* vfs-handle.c */
typedef struct {
    PyObject_HEAD
    GnomeVFSHandle *fd;
} PyGnomeVFSHandle;
extern PyTypeObject PyGnomeVFSHandle_Type;

#define pygnome_vfs_handle_get(v) (((PyGnomeVFSHandle *)(v))->fd)
PyObject *pygnome_vfs_handle_new(GnomeVFSHandle *fd);

/* vfs-async-handle.c */
PyObject *pygvfs_async_module_init (void);

typedef struct {
    PyObject *func, *data;
} PyGVFSCustomNotify;


/* vfs-xfer-progress-info.c */
typedef struct {
    PyObject_HEAD
    GnomeVFSXferProgressInfo *info; /* not owned */
} PyGnomeVFSXferProgressInfo;

extern PyTypeObject PyGnomeVFSXferProgressInfo_Type;
PyObject *pygnome_vfs_xfer_progress_info_new(GnomeVFSXferProgressInfo *info);
#define pygnome_vfs_xfer_progress_info_set(self, info_)\
       ((PyGnomeVFSXferProgressInfo *) (self))->info = info_


/* vfs-volume.c (PyGObject) */
extern PyTypeObject PyGnomeVFSVolume_Type;
/* vfs-drive.c (PyGObject) */
extern PyTypeObject PyGnomeVFSDrive_Type;
/* vfs-drive-monitor.c (PyGObject) */
extern PyTypeObject PyGnomeVFSVolumeMonitor_Type;

typedef struct {
    PyObject *callback;
    PyObject *user_data;
} PyGnomeVFSVolumeOpCallback;

void wrap_gnomevfs_volume_op_callback(gboolean succeeded,
                                      char *error,
                                      char *detailed_error,
                                      gpointer data);

G_END_DECLS

#endif /* __PYGNOMEVFS_PRIVATE_H_ */