summaryrefslogtreecommitdiffstats
path: root/c-layman/src/laymanapi.h
diff options
context:
space:
mode:
authordol-sen <brian.dolbec@gmail.com>2011-10-26 16:19:06 -0700
committerdol-sen <brian.dolbec@gmail.com>2011-10-26 16:19:06 -0700
commitc40874bd95d1525961692dd7d742ed565a2b4334 (patch)
treed774c213a57cb2ed06d74d664a86ccbad4bf4a5b /c-layman/src/laymanapi.h
parent9a74747e60f08a6f303d36d45ad9bb2ba828af42 (diff)
parentbce27850d7e2d86e1b8046be8eb1d51c83dbdd2c (diff)
downloadlayman-c40874bd95d1525961692dd7d742ed565a2b4334.tar.gz
layman-c40874bd95d1525961692dd7d742ed565a2b4334.tar.bz2
layman-c40874bd95d1525961692dd7d742ed565a2b4334.zip
Merge branch 'master' of git+ssh://git.overlays.gentoo.org/proj/layman
Diffstat (limited to 'c-layman/src/laymanapi.h')
-rw-r--r--c-layman/src/laymanapi.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/c-layman/src/laymanapi.h b/c-layman/src/laymanapi.h
new file mode 100644
index 0000000..60e20e0
--- /dev/null
+++ b/c-layman/src/laymanapi.h
@@ -0,0 +1,56 @@
+#ifndef LAYMAN_API_H
+#define LAYMAN_API_H
+
+#include "config.h"
+#include "stringlist.h"
+
+typedef struct LaymanAPI LaymanAPI;
+
+/**
+ * Contains all information for an overlay
+ */
+typedef struct OverlayInfo
+{
+ char* name;
+ char* text;
+ char* ownerEmail;
+ char* ownerName;
+ char* homepage;
+ char* description;
+ char* srcType;
+ char* quality;
+ int priority;
+ StringList* srcUris;
+ int official;
+ int supported;
+} OverlayInfo;
+
+/**
+ * Creates a LaymanAPI object that must be used in all function in this file.
+ *
+ * \param config a BareConfig object that contains all configuration options. If NULL, the default configuration will be used.
+ * \param report_error if True, errors reporting on stdout will be activated.
+ * \param output ?
+ * \return a new instance of the LaymanAPI class, to be freed with laymanAPIFree()
+ */
+LaymanAPI* laymanAPICreate(BareConfig* config, int report_error, int output);
+
+int laymanAPIIsRepo(LaymanAPI *l, const char* repo);
+int laymanAPIIsInstalled(LaymanAPI *l, const char* repo);
+StringList* laymanAPIGetAvailable(LaymanAPI*, int reload);
+StringList* laymanAPIGetInstalled(LaymanAPI*, int reload);
+int laymanAPISync(LaymanAPI* l, const char* overlay, int verbose);
+int laymanAPIFetchRemoteList(LaymanAPI*);
+int laymanAPIGetInfoStrList(LaymanAPI* l, StringList* overlays, OverlayInfo* results);
+OverlayInfo* laymanAPIGetInfoStr(LaymanAPI* l, const char* overlay);
+int laymanAPIGetAllInfoList(LaymanAPI* l, StringList*, OverlayInfo*);
+OverlayInfo* laymanAPIGetAllInfo(LaymanAPI* l, const char*);
+int laymanAPIAddRepo(LaymanAPI* l, const char *repo);
+int laymanAPIAddRepoList(LaymanAPI* l, StringList *repos);
+int laymanAPIDeleteRepo(LaymanAPI* l, const char *repo);
+int laymanAPIDeleteRepoList(LaymanAPI* l, StringList *repos);
+OverlayInfo* laymanAPIGetInfo(LaymanAPI* l, const char* overlay);
+void laymanAPIFree(LaymanAPI*);
+void overlayInfoFree(OverlayInfo oi);
+
+#endif