FOSSology  3.2.0rc1
Open Source License Compliance by Open Source Software
serialize.h
1 /*
2 Author: Maximilian Huber
3 Copyright (C) 2018, TNG Technology Consulting GmbH
4 
5  This program is free software; you can redistribute it and/or
6  modify it under the terms of the GNU General Public License
7  version 2 as published by the Free Software Foundation.
8 
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License along
15  with this program; if not, write to the Free Software Foundation, Inc.,
16  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17  */
18 
19 #ifndef MONK_AGENT_SERIALIZE_H
20 #define MONK_AGENT_SERIALIZE_H
21 
22 #include "monk.h"
23 
24 typedef struct {
25  long refId;
26  size_t shortnameLen;
27  guint tokensLen;
29 
30 int serializeToFile(Licenses* licenses, char* filename);
31 int serialize(Licenses* licenses, FILE* fp);
32 int serializeGArray(GArray* licenses, FILE* fp);
33 int serializeOne(License* license, FILE* fp);
34 int serializeOneMeta(License* license, FILE* fp);
35 int serializeOneShortname(License* license, FILE* fp);
36 int serializeOneTokens(GArray* tokens, FILE* fp);
37 
38 Licenses* deserializeFromFile(char* filename, unsigned minAdjacentMatches, unsigned maxLeadingDiff);
39 Licenses* deserialize(FILE* fp, unsigned minAdjacentMatches, unsigned maxLeadingDiff);
40 GArray* deserializeTokens(FILE* fp, guint tokensLen);
41 
42 #endif // MONK_AGENT_SERIALIZE_H
Definition: monk.h:78
Definition: nomos.h:439
Definition: monk.h:66