gout

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

index_writer.c (1102B)


      1 #include "writer/gemini/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/gemini/repo_index.h"
     10 
     11 struct GeminiIndexWriter {
     12   GeminiRepoIndex* index;
     13 };
     14 
     15 GeminiIndexWriter* gemini_indexwriter_create(FILE* out) {
     16   assert(out != NULL);
     17   GeminiIndexWriter* writer = ecalloc(1, sizeof(GeminiIndexWriter));
     18   writer->index = gemini_repoindex_create(out);
     19   return writer;
     20 }
     21 
     22 void gemini_indexwriter_free(GeminiIndexWriter* writer) {
     23   if (!writer) {
     24     return;
     25   }
     26   gemini_repoindex_free(writer->index);
     27   writer->index = NULL;
     28   free(writer);
     29 }
     30 
     31 void gemini_indexwriter_begin(GeminiIndexWriter* writer) {
     32   assert(writer != NULL);
     33   gemini_repoindex_begin(writer->index);
     34 }
     35 
     36 void gemini_indexwriter_add_repo(GeminiIndexWriter* writer,
     37                                  const GitRepo* repo) {
     38   assert(writer != NULL);
     39   assert(repo != NULL);
     40   gemini_repoindex_add_repo(writer->index, repo);
     41 }
     42 
     43 void gemini_indexwriter_end(GeminiIndexWriter* writer) {
     44   assert(writer != NULL);
     45   gemini_repoindex_end(writer->index);
     46 }