00001
00002
00003
#ifndef _LIBGNOMEVFSMM_ENUMS_H
00004
#define _LIBGNOMEVFSMM_ENUMS_H
00005
00006
#include <glibmm.h>
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
#include <libgnomevfs/gnome-vfs-file-info.h>
00029
#include <libgnomevfs/gnome-vfs-result.h>
00030
#include <libgnomevfs/gnome-vfs-mime-handlers.h>
00031
00032
00033
namespace Gnome
00034 {
00035
00036
namespace Vfs
00037 {
00038
00039
00053 enum FileInfoOptions
00054 {
00055 FILE_INFO_DEFAULT = 0,
00056 FILE_INFO_GET_MIME_TYPE = 1 << 0,
00057 FILE_INFO_FORCE_FAST_MIME_TYPE = 1 << 1,
00058 FILE_INFO_FORCE_SLOW_MIME_TYPE = 1 << 2,
00059 FILE_INFO_FOLLOW_LINKS = 1 << 3,
00060 FILE_INFO_GET_ACCESS_RIGHTS = 1 << 4
00061 };
00062
00064 inline FileInfoOptions
operator|(FileInfoOptions lhs, FileInfoOptions rhs)
00065 {
return static_cast<FileInfoOptions>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
00066
00068 inline FileInfoOptions
operator&(FileInfoOptions lhs, FileInfoOptions rhs)
00069 {
return static_cast<FileInfoOptions>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
00070
00072 inline FileInfoOptions
operator^(FileInfoOptions lhs, FileInfoOptions rhs)
00073 {
return static_cast<FileInfoOptions>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
00074
00076 inline FileInfoOptions
operator~(FileInfoOptions flags)
00077 {
return static_cast<FileInfoOptions>(~static_cast<unsigned>(flags)); }
00078
00080 inline FileInfoOptions&
operator|=(FileInfoOptions& lhs, FileInfoOptions rhs)
00081 {
return (lhs = static_cast<FileInfoOptions>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
00082
00084 inline FileInfoOptions&
operator&=(FileInfoOptions& lhs, FileInfoOptions rhs)
00085 {
return (lhs = static_cast<FileInfoOptions>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
00086
00088 inline FileInfoOptions&
operator^=(FileInfoOptions& lhs, FileInfoOptions rhs)
00089 {
return (lhs = static_cast<FileInfoOptions>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
00090
00091
00095 enum Result
00096 {
00097 OK,
00098 ERROR_NOT_FOUND,
00099 ERROR_GENERIC,
00100 ERROR_INTERNAL,
00101 ERROR_BAD_PARAMETERS,
00102 ERROR_NOT_SUPPORTED,
00103 ERROR_IO,
00104 ERROR_CORRUPTED_DATA,
00105 ERROR_WRONG_FORMAT,
00106 ERROR_BAD_FILE,
00107 ERROR_TOO_BIG,
00108 ERROR_NO_SPACE,
00109 ERROR_READ_ONLY,
00110 ERROR_INVALID_URI,
00111 ERROR_NOT_OPEN,
00112 ERROR_INVALID_OPEN_MODE,
00113 ERROR_ACCESS_DENIED,
00114 ERROR_TOO_MANY_OPEN_FILES,
00115 ERROR_EOF,
00116 ERROR_NOT_A_DIRECTORY,
00117 ERROR_IN_PROGRESS,
00118 ERROR_INTERRUPTED,
00119 ERROR_FILE_EXISTS,
00120 ERROR_LOOP,
00121 ERROR_NOT_PERMITTED,
00122 ERROR_IS_DIRECTORY,
00123 ERROR_NO_MEMORY,
00124 ERROR_HOST_NOT_FOUND,
00125 ERROR_INVALID_HOST_NAME,
00126 ERROR_HOST_HAS_NO_ADDRESS,
00127 ERROR_LOGIN_FAILED,
00128 ERROR_CANCELLED,
00129 ERROR_DIRECTORY_BUSY,
00130 ERROR_DIRECTORY_NOT_EMPTY,
00131 ERROR_TOO_MANY_LINKS,
00132 ERROR_READ_ONLY_FILE_SYSTEM,
00133 ERROR_NOT_SAME_FILE_SYSTEM,
00134 ERROR_NAME_TOO_LONG,
00135 ERROR_SERVICE_NOT_AVAILABLE,
00136 ERROR_SERVICE_OBSOLETE,
00137 ERROR_PROTOCOL_ERROR,
00138 ERROR_NO_MASTER_BROWSER,
00139 NUM_ERRORS
00140 };
00141
00142
00154 enum URIHideOptions
00155 {
00156 URI_HIDE_NONE = 0,
00157 URI_HIDE_USER_NAME = 1 << 0,
00158 URI_HIDE_PASSWORD = 1 << 1,
00159 URI_HIDE_HOST_NAME = 1 << 2,
00160 URI_HIDE_HOST_PORT = 1 << 3,
00161 URI_HIDE_TOPLEVEL_METHOD = 1 << 4,
00162 URI_HIDE_FRAGMENT_IDENTIFIER = 1 << 8
00163 };
00164
00166 inline URIHideOptions
operator|(URIHideOptions lhs, URIHideOptions rhs)
00167 {
return static_cast<URIHideOptions>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
00168
00170 inline URIHideOptions
operator&(URIHideOptions lhs, URIHideOptions rhs)
00171 {
return static_cast<URIHideOptions>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
00172
00174 inline URIHideOptions
operator^(URIHideOptions lhs, URIHideOptions rhs)
00175 {
return static_cast<URIHideOptions>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
00176
00178 inline URIHideOptions
operator~(URIHideOptions flags)
00179 {
return static_cast<URIHideOptions>(~static_cast<unsigned>(flags)); }
00180
00182 inline URIHideOptions&
operator|=(URIHideOptions& lhs, URIHideOptions rhs)
00183 {
return (lhs = static_cast<URIHideOptions>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
00184
00186 inline URIHideOptions&
operator&=(URIHideOptions& lhs, URIHideOptions rhs)
00187 {
return (lhs = static_cast<URIHideOptions>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
00188
00190 inline URIHideOptions&
operator^=(URIHideOptions& lhs, URIHideOptions rhs)
00191 {
return (lhs = static_cast<URIHideOptions>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
00192
00193
00205 enum DirectoryVisitOptions
00206 {
00207 DIRECTORY_VISIT_DEFAULT = 0,
00208 DIRECTORY_VISIT_SAMEFS = 1 << 0,
00209 DIRECTORY_VISIT_LOOPCHECK = 1 << 1
00210 };
00211
00213 inline DirectoryVisitOptions
operator|(DirectoryVisitOptions lhs, DirectoryVisitOptions rhs)
00214 {
return static_cast<DirectoryVisitOptions>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
00215
00217 inline DirectoryVisitOptions
operator&(DirectoryVisitOptions lhs, DirectoryVisitOptions rhs)
00218 {
return static_cast<DirectoryVisitOptions>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
00219
00221 inline DirectoryVisitOptions
operator^(DirectoryVisitOptions lhs, DirectoryVisitOptions rhs)
00222 {
return static_cast<DirectoryVisitOptions>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
00223
00225 inline DirectoryVisitOptions
operator~(DirectoryVisitOptions flags)
00226 {
return static_cast<DirectoryVisitOptions>(~static_cast<unsigned>(flags)); }
00227
00229 inline DirectoryVisitOptions&
operator|=(DirectoryVisitOptions& lhs, DirectoryVisitOptions rhs)
00230 {
return (lhs = static_cast<DirectoryVisitOptions>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
00231
00233 inline DirectoryVisitOptions&
operator&=(DirectoryVisitOptions& lhs, DirectoryVisitOptions rhs)
00234 {
return (lhs = static_cast<DirectoryVisitOptions>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
00235
00237 inline DirectoryVisitOptions&
operator^=(DirectoryVisitOptions& lhs, DirectoryVisitOptions rhs)
00238 {
return (lhs = static_cast<DirectoryVisitOptions>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
00239
00240
00252 enum OpenMode
00253 {
00254 OPEN_NONE = 0,
00255 OPEN_READ = 1 << 0,
00256 OPEN_WRITE = 1 << 1,
00257 OPEN_RANDOM = 1 << 2
00258 };
00259
00261 inline OpenMode
operator|(OpenMode lhs, OpenMode rhs)
00262 {
return static_cast<OpenMode>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
00263
00265 inline OpenMode
operator&(OpenMode lhs, OpenMode rhs)
00266 {
return static_cast<OpenMode>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
00267
00269 inline OpenMode
operator^(OpenMode lhs, OpenMode rhs)
00270 {
return static_cast<OpenMode>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
00271
00273 inline OpenMode
operator~(OpenMode flags)
00274 {
return static_cast<OpenMode>(~static_cast<unsigned>(flags)); }
00275
00277 inline OpenMode&
operator|=(OpenMode& lhs, OpenMode rhs)
00278 {
return (lhs = static_cast<OpenMode>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
00279
00281 inline OpenMode&
operator&=(OpenMode& lhs, OpenMode rhs)
00282 {
return (lhs = static_cast<OpenMode>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
00283
00285 inline OpenMode&
operator^=(OpenMode& lhs, OpenMode rhs)
00286 {
return (lhs = static_cast<OpenMode>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
00287
00288
00292 enum SeekPosition
00293 {
00294 SEEK_POS_START,
00295 SEEK_POS_CURRENT,
00296 SEEK_POS_END
00297 };
00298
00299
00311 enum FileFlags
00312 {
00313 FILE_FLAGS_NONE = 0,
00314 FILE_FLAGS_SYMLINK = 1 << 0,
00315 FILE_FLAGS_LOCAL = 1 << 1
00316 };
00317
00319 inline FileFlags
operator|(FileFlags lhs, FileFlags rhs)
00320 {
return static_cast<FileFlags>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
00321
00323 inline FileFlags
operator&(FileFlags lhs, FileFlags rhs)
00324 {
return static_cast<FileFlags>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
00325
00327 inline FileFlags
operator^(FileFlags lhs, FileFlags rhs)
00328 {
return static_cast<FileFlags>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
00329
00331 inline FileFlags
operator~(FileFlags flags)
00332 {
return static_cast<FileFlags>(~static_cast<unsigned>(flags)); }
00333
00335 inline FileFlags&
operator|=(FileFlags& lhs, FileFlags rhs)
00336 {
return (lhs = static_cast<FileFlags>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
00337
00339 inline FileFlags&
operator&=(FileFlags& lhs, FileFlags rhs)
00340 {
return (lhs = static_cast<FileFlags>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
00341
00343 inline FileFlags&
operator^=(FileFlags& lhs, FileFlags rhs)
00344 {
return (lhs = static_cast<FileFlags>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
00345
00346
00350 enum FileType
00351 {
00352 FILE_TYPE_UNKNOWN,
00353 FILE_TYPE_REGULAR,
00354 FILE_TYPE_DIRECTORY,
00355 FILE_TYPE_FIFO,
00356 FILE_TYPE_SOCKET,
00357 FILE_TYPE_CHARACTER_DEVICE,
00358 FILE_TYPE_BLOCK_DEVICE,
00359 FILE_TYPE_SYMBOLIC_LINK
00360 };
00361
00362
00374 enum FilePermissions
00375 {
00376 PERM_SUID = S_ISUID,
00377 PERM_SGID = S_ISGID,
00378 PERM_STICKY = 01000,
00379 PERM_USER_READ = S_IRUSR,
00380 PERM_USER_WRITE = S_IWUSR,
00381 PERM_USER_EXEC = S_IXUSR,
00382 PERM_USER_ALL = S_IRUSR | S_IWUSR | S_IXUSR,
00383 PERM_GROUP_READ = S_IRGRP,
00384 PERM_GROUP_WRITE = S_IWGRP,
00385 PERM_GROUP_EXEC = S_IXGRP,
00386 PERM_GROUP_ALL = S_IRGRP | S_IWGRP | S_IXGRP,
00387 PERM_OTHER_READ = S_IROTH,
00388 PERM_OTHER_WRITE = S_IWOTH,
00389 PERM_OTHER_EXEC = S_IXOTH,
00390 PERM_OTHER_ALL = S_IROTH | S_IWOTH | S_IXOTH,
00391 PERM_ACCESS_READABLE = 1 << 16,
00392 PERM_ACCESS_WRITABLE = 1 << 17,
00393 PERM_ACCESS_EXECUTABLE = 1 << 18
00394 };
00395
00397 inline FilePermissions
operator|(FilePermissions lhs, FilePermissions rhs)
00398 {
return static_cast<FilePermissions>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
00399
00401 inline FilePermissions
operator&(FilePermissions lhs, FilePermissions rhs)
00402 {
return static_cast<FilePermissions>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
00403
00405 inline FilePermissions
operator^(FilePermissions lhs, FilePermissions rhs)
00406 {
return static_cast<FilePermissions>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
00407
00409 inline FilePermissions
operator~(FilePermissions flags)
00410 {
return static_cast<FilePermissions>(~static_cast<unsigned>(flags)); }
00411
00413 inline FilePermissions&
operator|=(FilePermissions& lhs, FilePermissions rhs)
00414 {
return (lhs = static_cast<FilePermissions>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
00415
00417 inline FilePermissions&
operator&=(FilePermissions& lhs, FilePermissions rhs)
00418 {
return (lhs = static_cast<FilePermissions>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
00419
00421 inline FilePermissions&
operator^=(FilePermissions& lhs, FilePermissions rhs)
00422 {
return (lhs = static_cast<FilePermissions>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
00423
00424
00436 enum SetFileInfoMask
00437 {
00438 SET_FILE_INFO_NONE = 0,
00439 SET_FILE_INFO_NAME = 1 << 0,
00440 SET_FILE_INFO_PERMISSIONS = 1 << 1,
00441 SET_FILE_INFO_OWNER = 1 << 2,
00442 SET_FILE_INFO_TIME = 1 << 3
00443 };
00444
00446 inline SetFileInfoMask
operator|(SetFileInfoMask lhs, SetFileInfoMask rhs)
00447 {
return static_cast<SetFileInfoMask>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
00448
00450 inline SetFileInfoMask
operator&(SetFileInfoMask lhs, SetFileInfoMask rhs)
00451 {
return static_cast<SetFileInfoMask>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
00452
00454 inline SetFileInfoMask
operator^(SetFileInfoMask lhs, SetFileInfoMask rhs)
00455 {
return static_cast<SetFileInfoMask>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
00456
00458 inline SetFileInfoMask
operator~(SetFileInfoMask flags)
00459 {
return static_cast<SetFileInfoMask>(~static_cast<unsigned>(flags)); }
00460
00462 inline SetFileInfoMask&
operator|=(SetFileInfoMask& lhs, SetFileInfoMask rhs)
00463 {
return (lhs = static_cast<SetFileInfoMask>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
00464
00466 inline SetFileInfoMask&
operator&=(SetFileInfoMask& lhs, SetFileInfoMask rhs)
00467 {
return (lhs = static_cast<SetFileInfoMask>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
00468
00470 inline SetFileInfoMask&
operator^=(SetFileInfoMask& lhs, SetFileInfoMask rhs)
00471 {
return (lhs = static_cast<SetFileInfoMask>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
00472
00473
00477 enum MonitorType
00478 {
00479 MONITOR_FILE,
00480 MONITOR_DIRECTORY
00481 };
00482
00483
00487 enum MonitorEventType
00488 {
00489 MONITOR_EVENT_CHANGED,
00490 MONITOR_EVENT_DELETED,
00491 MONITOR_EVENT_STARTEXECUTING,
00492 MONITOR_EVENT_STOPEXECUTING,
00493 MONITOR_EVENT_CREATED,
00494 MONITOR_EVENT_METADATA_CHANGED
00495 };
00496
00497
00501 enum MimeApplicationArgumentType
00502 {
00503 APPLICATION_ARGUMENT_TYPE_URIS,
00504 APPLICATION_ARGUMENT_TYPE_PATHS,
00505 APPLICATION_ARGUMENT_TYPE_URIS_FOR_NON_FILES
00506 };
00507
00508
00512 enum MimeActionType
00513 {
00514 ACTION_TYPE_NONE,
00515 ACTION_TYPE_APPLICATION,
00516 ACTION_TYPE_COMPONENT
00517 };
00518
00519
00520
00532 enum TransferOptions
00533 {
00534 XFER_DEFAULT = 0,
00535 XFER_UNUSED_1 = 1 << 0,
00536 XFER_FOLLOW_LINKS = 1 << 1,
00537 XFER_UNUSED_2 = 1 << 2,
00538 XFER_RECURSIVE = 1 << 3,
00539 XFER_SAMEFS = 1 << 4,
00540 XFER_DELETE_ITEMS = 1 << 5,
00541 XFER_EMPTY_DIRECTORIES = 1 << 6,
00542 XFER_NEW_UNIQUE_DIRECTORY = 1 << 7,
00543 XFER_REMOVESOURCE = 1 << 8,
00544 XFER_USE_UNIQUE_NAMES = 1 << 9,
00545 XFER_LINK_ITEMS = 1 << 10,
00546 XFER_FOLLOW_LINKS_RECURSIVE = 1 << 11
00547 };
00548
00550 inline TransferOptions
operator|(TransferOptions lhs, TransferOptions rhs)
00551 {
return static_cast<TransferOptions>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
00552
00554 inline TransferOptions
operator&(TransferOptions lhs, TransferOptions rhs)
00555 {
return static_cast<TransferOptions>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
00556
00558 inline TransferOptions
operator^(TransferOptions lhs, TransferOptions rhs)
00559 {
return static_cast<TransferOptions>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
00560
00562 inline TransferOptions
operator~(TransferOptions flags)
00563 {
return static_cast<TransferOptions>(~static_cast<unsigned>(flags)); }
00564
00566 inline TransferOptions&
operator|=(TransferOptions& lhs, TransferOptions rhs)
00567 {
return (lhs = static_cast<TransferOptions>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
00568
00570 inline TransferOptions&
operator&=(TransferOptions& lhs, TransferOptions rhs)
00571 {
return (lhs = static_cast<TransferOptions>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
00572
00574 inline TransferOptions&
operator^=(TransferOptions& lhs, TransferOptions rhs)
00575 {
return (lhs = static_cast<TransferOptions>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
00576
00577
00581 enum ProgressStatus
00582 {
00583 XFER_PROGRESS_STATUS_OK,
00584 XFER_PROGRESS_STATUS_VFSERROR,
00585 XFER_PROGRESS_STATUS_OVERWRITE,
00586 XFER_PROGRESS_STATUS_DUPLICATE
00587 };
00588
00589
00593 enum OverwriteMode
00594 {
00595 XFER_OVERWRITE_MODE_ABORT,
00596 XFER_OVERWRITE_MODE_QUERY,
00597 XFER_OVERWRITE_MODE_REPLACE,
00598 XFER_OVERWRITE_MODE_SKIP
00599 };
00600
00601
00605 enum OverwriteAction
00606 {
00607 XFER_OVERWRITE_ACTION_ABORT,
00608 XFER_OVERWRITE_ACTION_REPLACE,
00609 XFER_OVERWRITE_ACTION_REPLACE_ALL,
00610 XFER_OVERWRITE_ACTION_SKIP,
00611 XFER_OVERWRITE_ACTION_SKIP_ALL
00612 };
00613
00614
00618 enum ErrorMode
00619 {
00620 XFER_ERROR_MODE_ABORT,
00621 XFER_ERROR_MODE_QUERY
00622 };
00623
00624
00628 enum ErrorAction
00629 {
00630 XFER_ERROR_ACTION_ABORT,
00631 XFER_ERROR_ACTION_RETRY,
00632 XFER_ERROR_ACTION_SKIP
00633 };
00634
00635
00639 enum Phase
00640 {
00641 XFER_PHASE_INITIAL,
00642 XFER_CHECKING_DESTINATION,
00643 XFER_PHASE_COLLECTING,
00644 XFER_PHASE_READYTOGO,
00645 XFER_PHASE_OPENSOURCE,
00646 XFER_PHASE_OPENTARGET,
00647 XFER_PHASE_COPYING,
00648 XFER_PHASE_MOVING,
00649 XFER_PHASE_READSOURCE,
00650 XFER_PHASE_WRITETARGET,
00651 XFER_PHASE_CLOSESOURCE,
00652 XFER_PHASE_CLOSETARGET,
00653 XFER_PHASE_DELETESOURCE,
00654 XFER_PHASE_SETATTRIBUTES,
00655 XFER_PHASE_FILECOMPLETED,
00656 XFER_PHASE_CLEANUP,
00657 XFER_PHASE_COMPLETED,
00658 XFER_NUM_PHASES
00659 };
00660
00661
00662 }
00663 }
00664
00665
00666
#endif
00667