Global Lender
A Pebble app for finding new and interesting loans on kiva.org
KivaModel.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "libs/magpebapp.h"
4 
5 
6 // Model struct typedef
7 typedef struct KivaModel KivaModel;
8 
9 
10 typedef struct LoanInfo {
12  char* name;
13  char* use;
14  char* countryCode;
15  uint16_t fundedAmt;
16  uint16_t loanAmt;
17 } LoanInfo;
18 
19 
20 typedef struct KivaModel_PrefLoan_CIter {
21  const LoanInfo* data;
22  uint16_t idx;
23  const void* internal;
25 
26 
27 typedef struct KivaModel_Modified {
28  unsigned int kivaCountryQty : 1;
29  unsigned int lenderCountryQty : 1;
30  unsigned int lenderLoanQty : 1;
31  unsigned int preferredLoanQty : 1;
33 
34 
35 KivaModel* KivaModel_create(const char*);
37 
38 // Setters
40 MagPebApp_ErrCode KivaModel_setLenderName(KivaModel* const this, const char*);
43 
44 MagPebApp_ErrCode KivaModel_addLenderCountry(KivaModel* this, const char*, const char*);
45 MagPebApp_ErrCode KivaModel_addKivaCountry(KivaModel* this, const char*, const char*);
46 
49 
50 // Getters
52 
57 
59 MagPebApp_ErrCode KivaModel_getLenderCountryCodes(const KivaModel* this, const bool, char**);
61 MagPebApp_ErrCode KivaModel_getKivaCountryName(const KivaModel* this, const char*, const char**);
62 
66 
67 
KivaModel_PrefLoan_CIter * KivaModel_nextPrefLoan(const KivaModel *this, KivaModel_PrefLoan_CIter *)
Definition: KivaModel.c:767
MagPebApp_ErrCode KivaModel_getLenderId(const KivaModel *this, char **)
Definition: KivaModel.c:443
uint16_t fundedAmt
amount (USD) of funding received by the loan
Definition: KivaModel.h:15
MagPebApp_ErrCode KivaModel_addKivaCountry(KivaModel *this, const char *, const char *)
Definition: KivaModel.c:801
MagPebApp_ErrCode KivaModel_destroy(KivaModel *this)
Definition: KivaModel.c:199
MagPebApp_ErrCode KivaModel_getLenderCountryQty(const KivaModel *this, int *)
Definition: KivaModel.c:530
KivaModel * KivaModel_create(const char *)
Definition: KivaModel.c:181
uint16_t loanAmt
amount (USD) requested for the loan
Definition: KivaModel.h:16
MagPebApp_ErrCode KivaModel_addPreferredLoan(KivaModel *this, const LoanInfo)
Definition: KivaModel.c:681
KivaModel_PrefLoan_CIter * KivaModel_firstPrefLoan(const KivaModel *this)
Definition: KivaModel.c:738
MagPebApp_ErrCode KivaModel_getLenderLoanQty(const KivaModel *this, int *)
Definition: KivaModel.c:490
MagPebApp_ErrCode
Definition: magpebapp.h:12
uint16_t idx
enumerates the iteration count, starting with zero
Definition: KivaModel.h:22
char * name
the name of the loan (generally the individual or group receiving the loan)
Definition: KivaModel.h:12
MagPebApp_ErrCode KivaModel_setLenderName(KivaModel *const this, const char *)
Definition: KivaModel.c:330
Definition: KivaModel.h:27
MagPebApp_ErrCode KivaModel_getLenderCountryCodes(const KivaModel *this, const bool, char **)
Definition: KivaModel.c:568
MagPebApp_ErrCode KivaModel_setLenderLoc(KivaModel *this, const char *)
Definition: KivaModel.c:355
uint32_t id
numeric loan ID
Definition: KivaModel.h:11
MagPebApp_ErrCode KivaModel_getLenderName(const KivaModel *this, char **)
Definition: KivaModel.c:459
MagPebApp_ErrCode KivaModel_getKivaCountryQty(const KivaModel *this, int *)
Definition: KivaModel.c:505
unsigned int uint32_t
Definition: uthash.h:72
MagPebApp_ErrCode KivaModel_setLenderId(KivaModel *this, const char *)
Definition: KivaModel.c:292
MagPebApp_ErrCode KivaModel_clearPreferredLoans(KivaModel *this)
Definition: KivaModel.c:623
MagPebApp_ErrCode KivaModel_setLenderLoanQty(KivaModel *this, const int)
Definition: KivaModel.c:374
struct LoanInfo LoanInfo
MagPebApp_ErrCode KivaModel_addLenderCountry(KivaModel *this, const char *, const char *)
Definition: KivaModel.c:399
Definition: KivaModel.h:20
struct KivaModel_PrefLoan_CIter KivaModel_PrefLoan_CIter
MagPebApp_ErrCode KivaModel_getMods(const KivaModel *this, KivaModel_Modified *)
Definition: KivaModel.c:275
MagPebApp_ErrCode KivaModel_getKivaCountryName(const KivaModel *this, const char *, const char **)
Definition: KivaModel.c:857
char * use
description of how the loan will be used
Definition: KivaModel.h:13
MagPebApp_ErrCode KivaModel_getPreferredLoanQty(const KivaModel *this, uint16_t *)
Definition: KivaModel.c:655
MagPebApp_ErrCode KivaModel_getLenderLoc(const KivaModel *this, char **)
Definition: KivaModel.c:475
char * countryCode
the two-character ISO-3361 code
Definition: KivaModel.h:14
struct KivaModel_Modified KivaModel_Modified
Definition: KivaModel_Internal.h:31
Definition: KivaModel.h:10
const LoanInfo * data
pointer to the LoanInfo struct this iterator points to
Definition: KivaModel.h:21