INGOR
Loading...
Searching...
No Matches
Filter.h
1/*
2 filter/Filter.{h,c} : Filter programs
3 Copyright (C) 2018, Yoshinori Tamada <tamada A T ytlab.jp>
4 All rights reserved.
5
6 See LICENSE.txt for details of the licensing agreement.
7*/
8#ifndef __FILTER_H
9#define __FILTER_H
10
11#ifndef DOXY
12
13#include <stdio.h>
14#include "net/ytNetwork.h"
15#include "util/ytKeyValues.h"
16#include "util/ytParseArgs.h"
17
18typedef struct {
19 char * name;
20 char * alias;
21 char * explain;
22 ytNetwork * (*filter)(ytNetwork *, ytKeyValues *);
23 void (* help)(FILE *);
24} Filter;
25
26typedef struct {
27 ytStrArray * filters;
28 ytArray * args;
29} FilterArgs;
30
31FilterArgs * FilterArgs_new();
32void Filter_add(ytParseArgs * parser, FilterArgs * args);
33ytNetwork * Filter_perform(const char * name, ytKeyValues * args, ytNetwork * network);
34void Filter_help(char * arg);
35ytParseArgs * Filter_genParseArgs();
36
37#endif /* DOXY */
38
39#endif /* __FILTER_H */
Expandable array.
key-value pairs.
Network abstraction.
Structure for parsing command line arguments.
Expandable array.