zdir_patch - Man Page
Class for work with directory patches
Synopsis
// This is a stable class, and may not change except for emergencies. It // is provided in stable builds. #define ZDIR_PATCH_CREATE 1 // Creates a new file #define ZDIR_PATCH_DELETE 2 // Delete a file // Create new patch CZMQ_EXPORT zdir_patch_t * zdir_patch_new (const char *path, zfile_t *file, int op, const char *alias); // Destroy a patch CZMQ_EXPORT void zdir_patch_destroy (zdir_patch_t **self_p); // Create copy of a patch. If the patch is null, or memory was exhausted, // returns null. // Caller owns return value and must destroy it when done. CZMQ_EXPORT zdir_patch_t * zdir_patch_dup (zdir_patch_t *self); // Return patch file directory path CZMQ_EXPORT const char * zdir_patch_path (zdir_patch_t *self); // Return patch file item CZMQ_EXPORT zfile_t * zdir_patch_file (zdir_patch_t *self); // Return operation CZMQ_EXPORT int zdir_patch_op (zdir_patch_t *self); // Return patch virtual file path CZMQ_EXPORT const char * zdir_patch_vpath (zdir_patch_t *self); // Calculate hash digest for file (create only) CZMQ_EXPORT void zdir_patch_digest_set (zdir_patch_t *self); // Return hash digest for patch file CZMQ_EXPORT const char * zdir_patch_digest (zdir_patch_t *self); // Self test of this class. CZMQ_EXPORT void zdir_patch_test (bool verbose); Please add '@interface' section in './../src/zdir_patch.c'.
Description
The zdir_patch class works with one patch, which says "create this file" or "delete this file" (referring to a zfile item each time).
Please add @discuss section in ./../src/zdir_patch.c.
Example
From zdir_patch_test method.
const char *SELFTEST_DIR_RW = "src/selftest-rw"; const char *testfile = "bilbo"; const char *prefix = "/"; char *prefixed_testfile = zsys_sprintf ("%s%s", prefix, testfile); assert (prefixed_testfile); // Make sure old aborted tests do not hinder us zsys_file_delete (prefixed_testfile); zfile_t *file = zfile_new (SELFTEST_DIR_RW, testfile); assert (file); zdir_patch_t *patch = zdir_patch_new (SELFTEST_DIR_RW, file, patch_create, prefix); assert (patch); zfile_destroy (&file); file = zdir_patch_file (patch); assert (file); assert (streq (zfile_filename (file, SELFTEST_DIR_RW), testfile)); assert (streq (zdir_patch_vpath (patch), prefixed_testfile)); zdir_patch_destroy (&patch); zstr_free (&prefixed_testfile); #if defined (__WINDOWS__) zsys_shutdown(); #endif
Authors
The czmq manual was written by the authors in the AUTHORS file.
Resources
Main web site:
Report bugs to the email <zeromq-dev@lists.zeromq.org[1]>
Copyright
Copyright (c) the Contributors as noted in the Authors file. This file is part of CZMQ, the high-level C binding for 0MQ: http://czmq.zeromq.org. This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. LICENSE included with the czmq distribution.
Notes
- 1.
zeromq-dev@lists.zeromq.org
mailto:zeromq-dev@lists.zeromq.org