summaryrefslogtreecommitdiff
path: root/interchange/ord.h
diff options
context:
space:
mode:
authorꦌꦫꦶꦏ꧀ꦦꦿꦧꦮꦑꦩꦭ꧀ <erik@darapsa.co.id>2022-09-25 10:20:12 +0800
committerꦌꦫꦶꦏ꧀ꦦꦿꦧꦮꦑꦩꦭ꧀ <erik@darapsa.co.id>2022-09-25 10:20:12 +0800
commit7f934ce683df5252fa6350dcc15e187b1c7623cf (patch)
treef600fc0cdfc9f4397580e44044468858167d0aa9 /interchange/ord.h
parenta606c79d52d2027afaafd424a25fa6a4598aa8d7 (diff)
Rename remaining icclient to interchange
Diffstat (limited to 'interchange/ord.h')
-rw-r--r--interchange/ord.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/interchange/ord.h b/interchange/ord.h
new file mode 100644
index 0000000..c62bcf0
--- /dev/null
+++ b/interchange/ord.h
@@ -0,0 +1,37 @@
+#ifndef INTERCHANGE_ORD_H
+#define INTERCHANGE_ORD_H
+
+struct interchange_ord_item {
+ struct interchange_product *product;
+ unsigned int quantity;
+};
+
+struct interchange_ord_order {
+ double subtotal;
+ double shipping;
+ double total_cost;
+ char *profile;
+ size_t nitems;
+ struct interchange_ord_item *items[];
+};
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*!
+ * \brief For putting an item to a cart.
+ * \param sku The SKU of the item to order.
+ * \param catalog The catalog from which the item is.
+ * \param order The address of an order instance.
+ */
+void interchange_ord_order(const char *sku, const struct interchange_catalog *catalog,
+ struct interchange_ord_order **order);
+void interchange_ord_checkout(const struct interchange_ord_order *order, const struct interchange_member *member);
+void interchange_ord_free(struct interchange_ord_order *order);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif