Commit Graph

12 Commits

Author SHA1 Message Date
Rémi Birot-Delrue dc6f74d269 Add tools to manipulate `file-information` objects, and a few other things.
* common.scm: add the constant `%time-relative-forever`.
* container/metadata.scm: add `#:filename` and `#:narinfo` meta-types.
* fs.scm: add tools to create and manipulate `file-information` objects:
          `file-information-add!`, `file-information-iterate`,
          `file->file-information` and `directory->file-information`,
	  remove `make-file-information`.
* tests/fs.scm: test those functions a little.
2015-08-21 20:50:56 +02:00
Rémi Birot-Delrue cd20d8d6d0 Add a record type for GNUNET_FS_ProgressInfo and a few tests.
* progress-info.scm: add a record type for `GNUNET_FS_ProgressInfo` and alter
                     `parse-c-progress-info` to handle it.
* fs.scm: - correct `make-file-information`;
          - deprecate directory-scan (too many bugs to fix,
            `make-file-information will` do for now);
          - replace `*block-options*` with `make-block-options`;
          - update `procedure->*` functions to use `parse-c-progress-info`.
* examples/*.scm: follow modifications on fs.scm.
* tests/progress-info.scm: add a fake progress-info to test
                           `parse-c-progress-info`.
* tests/fs.scm: add a small test for `make-file-information`.
2015-08-12 19:31:27 +02:00
Rémi Birot-Delrue 5259c5c20a Add `close-filesharing-service` and dynamic allocation in `open-filesharing-handle`. 2015-08-03 17:01:54 +02:00
Rémi Birot-Delrue 12e8a31b23 Add `time-rel` to replace all ad-hoc time calculations. 2015-08-03 15:57:09 +02:00
Rémi Birot-Delrue ff8e19b523 Rewrite of examples/publish.scm, small bug fixes and typos.
* examples/publish.scm: rewritten to correctly handle namespaces.
* gnu/gnunet/binding-utils.scm: add `or%`.
* gnu/gnunet/fs.scm: bug fix: `start-*` function throw an error instead of
                    returning %null-pointer.
* gnu/gnunet/identity.scm: typo.
2015-08-03 12:38:31 +02:00
Rémi Birot-Delrue ac1479fa17 Small bug fixes and add publishing in namespaces for examples/publish.scm
* common.scm: add `gnunet-id-ffi` (FFI for libgnunetidentity).
* identity.scm: replace `define-gnunet-fs` with `define-gnunet-id`.
* fs.scm: corrects a bug in `start-publish` (gave `GNUNET_FS_publish_start` a
          pointer to the ego in place of a pointer to its private key).
* examples/publish.scm: add handling of namespaces and replace simple global
                        variables with parameters.
2015-07-24 21:31:42 +02:00
Rémi Birot-Delrue 96048086c6 Bind GNUNET_FS_IDENTITY_* functions and add support for publishing in namespaces.
* identity.scm: complete bindings of GNUNET_FS_IDENTITY
* fs.scm: add support for egos/namespaces to `start-publish`
* binding-utils: remove the useless import of `assert`
2015-07-21 19:26:51 +02:00
Rémi Birot-Delrue 8f48b792a2 Add draft support for indexing/publication.
* fs.scm:
  - add a `<file-information>` type and associated functions
    (`wrap-file-information`, `unwrap-file-information`, and
    `make-file-information`);
  - add incomplete bindings to `GNUNET_FS_directory_scan_*` functions
    (`start-directory-scan`, `stop-directory-scan`, `directory-scanner-result`)
  - add `share-tree->file-information`
  - add `start-publish` and `stop-publish`
* examples/publish.scm: a very simple and ugly `gnunet-publish` clone.
2015-07-21 13:03:07 +02:00
Rémi Birot-Delrue 7790951783 Bind basic download functionalities
* examples/download.scm: a loose `gnunet-download' clone.
* system/foreign/unions.scm: add the possibility to specify #f as a
                             union variant to get a padding of the
			     size of the union.
* gnu/gnunet/fs/progress-info.scm: just adapted to the modification to
                                   unions.scm.
* gnu/gnunet/fs/uri.scm: add a few utility functions: `parse-uri' and
                         `uri-file-size'.
* gnu/gnunet/fs/fs.scm: add `start-download` and `stop-download`.
2015-07-17 12:32:39 +02:00
Rémi Birot-Delrue bee3516b83 API cleanup: separates search and URI, adds sks URIs.
* examples/search.scm: echo changes in the API;
* gnu/gnunet/common.scm: add ecdsa-public-key? and string->data-pointer;
* gnu/gnunet/fs.scm: replace search-service-open with open-filesharing-service,
                     replace start-ksk-search with start-search;
* gnu/gnunet/fs/uri.scm: add make-sks-uri-pointer and make-sks-uri;
* tests/uri.scm: add tests for make-sks-uri-pointer and make-sks-uri.
2015-07-03 13:39:56 +02:00
Rémi Birot-Delrue c40fcacfbc Replaces the crappy “union handling” functions with better ones (inside “system/foreign/”); has the stub gnunet-search working. 2015-06-24 13:20:18 +02:00
Rémi Birot-Delrue 04bbbcef56 Initial commit. 2015-06-20 22:16:34 +02:00