d441a074673acc2a5e4f19c8bb2a1aabe4643eda
[satune.git] / src / Encoders / ordernode.c
1 #include "ordernode.h"
2 #include "orderedge.h"
3
4 OrderNode* allocOrderNode(uint64_t id, Order* order){
5         OrderNode* This = (OrderNode*) ourmalloc(sizeof(OrderNode));
6         This->id = id;
7         This->order = order;
8         This->inEdges = allocHashSetOrderEdge(HT_INITIAL_CAPACITY, HT_DEFAULT_FACTOR);
9         This->outEdges = allocHashSetOrderEdge(HT_INITIAL_CAPACITY, HT_DEFAULT_FACTOR);
10         return This;
11 }
12
13 void addNewIncomingEdge(OrderNode* node, OrderEdge* edge){
14         ASSERT(!containsHashSetOrderEdge(node->inEdges, edge)); // Only for testing ... Should be removed after testing
15         addHashSetOrderEdge(node->inEdges, edge);
16 }
17
18 void addNewOutgoingEdge(OrderNode* node, OrderEdge* edge){
19         ASSERT(!containsHashSetOrderEdge(node->outEdges, edge));
20         addHashSetOrderEdge(node->outEdges, edge);
21 }
22
23 void deleteOrderNode(OrderNode* node){
24         deleteHashSetOrderEdge(node->inEdges);
25         deleteHashSetOrderEdge(node->outEdges);
26         ourfree(node);
27 }