gout

A static git page generator
git clone https://git.bracken.jp/gout.git
Log | Files | Refs | README | LICENSE

index_writer.c (1078B)


      1 #include "writer/gopher/index_writer.h"
      2 
      3 #include <assert.h>
      4 #include <stdio.h>
      5 #include <stdlib.h>
      6 
      7 #include "git/repo.h"
      8 #include "utils.h"
      9 #include "writer/gopher/repo_index.h"
     10 
     11 struct GopherIndexWriter {
     12   GopherRepoIndex* index;
     13 };
     14 
     15 GopherIndexWriter* gopher_indexwriter_create(FILE* out) {
     16   assert(out != NULL);
     17   GopherIndexWriter* writer = ecalloc(1, sizeof(GopherIndexWriter));
     18   writer->index = gopher_repoindex_create(out);
     19   return writer;
     20 }
     21 
     22 void gopher_indexwriter_free(GopherIndexWriter* writer) {
     23   if (!writer) {
     24     return;
     25   }
     26   gopher_repoindex_free(writer->index);
     27   free(writer);
     28 }
     29 
     30 void gopher_indexwriter_begin(GopherIndexWriter* writer) {
     31   assert(writer != NULL);
     32   gopher_repoindex_begin(writer->index);
     33 }
     34 
     35 void gopher_indexwriter_add_repo(GopherIndexWriter* writer,
     36                                  const GitRepo* repo) {
     37   assert(writer != NULL);
     38   assert(repo != NULL);
     39   gopher_repoindex_add_repo(writer->index, repo);
     40 }
     41 
     42 void gopher_indexwriter_end(GopherIndexWriter* writer) {
     43   assert(writer != NULL);
     44   gopher_repoindex_end(writer->index);
     45 }