aboutsummaryrefslogtreecommitdiff
path: root/include/manifest.h
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2020-02-13 21:15:54 -0500
committerJoseph Hunkeler <jhunkeler@gmail.com>2020-02-13 21:15:54 -0500
commitb5dc6f2c428b4555d3e56e628605f54e4a63b16e (patch)
tree0c6c1a41292c9ee088065c57bd12939d24195e1c /include/manifest.h
parentf0ba44942b27c3ac4bc48bff3f8d2fea9d8757fa (diff)
downloadspmc-b5dc6f2c428b4555d3e56e628605f54e4a63b16e.tar.gz
Implement ManifestList:
* Initial support for multiple manifests at once
Diffstat (limited to 'include/manifest.h')
-rw-r--r--include/manifest.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/manifest.h b/include/manifest.h
index c32ed20..a6445d8 100644
--- a/include/manifest.h
+++ b/include/manifest.h
@@ -33,6 +33,12 @@ typedef struct {
char origin[PACKAGE_MEMBER_ORIGIN_SIZE];
} Manifest;
+typedef struct {
+ size_t num_inuse;
+ size_t num_alloc;
+ Manifest **data;
+} ManifestList;
+
int fetch(const char *url, const char *dest);
void manifest_package_separator_swap(char **name);
void manifest_package_separator_restore(char **name);
@@ -45,4 +51,11 @@ ManifestPackage *manifest_search(Manifest *info, const char *package);
ManifestPackage *find_by_strspec(Manifest *manifest, const char *_strspec);
ManifestPackage *manifest_package_copy(ManifestPackage *manifest);
+ManifestList *manifestlist_init();
+Manifest *manifestlist_item(ManifestList *pManifestList, size_t index);
+void manifestlist_set(ManifestList *pManifestList, size_t index, Manifest *manifest);
+ManifestPackage *manifestlist_search(ManifestList *pManifestList, const char *_package);
+size_t manifestlist_count(ManifestList *pManifestList);
+void manifestlist_append(ManifestList *pManifestList, char* path);
+void manifestlist_free(ManifestList *pManifestList);
#endif //SPM_MANIFEST_H