Grassroots Infrastructure
The Grassroots Infrastructure is a suite of computing tools to help users and developers use scientific data infrastructure that can easily be interconnected.
programme.h File Reference
#include <time.h>
#include "dfw_field_trial_service_data.h"
#include "dfw_field_trial_service_library.h"
#include "field_trial.h"
#include "location.h"
#include "jansson.h"
#include "typedefs.h"
#include "person.h"
#include "permission.h"
#include "metadata.h"
Include dependency graph for programme.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  Programme
 
struct  ProgrammeNode
 

Functions

const PROGRAMME_PREFIX char *PR_NAME_S PROGRAMME_CONCAT_VAL (CONTEXT_PREFIX_SCHEMA_ORG_S, "name")
 
const PROGRAMME_PREFIX char *PR_OBJECTIVE_S PROGRAMME_CONCAT_VAL (CONTEXT_PREFIX_SCHEMA_ORG_S, "description")
 
const PROGRAMME_PREFIX char *PR_ID_S PROGRAMME_VAL ("_id")
 
const PROGRAMME_PREFIX char *PR_TRIALS_S PROGRAMME_VAL ("trials")
 
const PROGRAMME_PREFIX char *PR_DOCUMENTATION_URL_S PROGRAMME_CONCAT_VAL (CONTEXT_PREFIX_SCHEMA_ORG_S, "url")
 
const PROGRAMME_PREFIX char *PR_PI_S PROGRAMME_VAL ("principal_investigator")
 
const PROGRAMME_PREFIX char *PR_CROP_S PROGRAMME_VAL ("crop")
 
const PROGRAMME_PREFIX char *PR_ABBREVIATION_S PROGRAMME_CONCAT_VAL (CONTEXT_PREFIX_SCHEMA_ORG_S, "alternateName")
 
const PROGRAMME_PREFIX char *PR_LOGO_S PROGRAMME_CONCAT_VAL (CONTEXT_PREFIX_SCHEMA_ORG_S, "image")
 
const PROGRAMME_PREFIX char *PR_FD_NAME_S PROGRAMME_VAL ("name")
 
const PROGRAMME_PREFIX char *PR_FUNDERS_S PROGRAMME_VAL ("funders")
 
const PROGRAMME_PREFIX char *PR_CODE_S PROGRAMME_VAL ("code")
 
const PROGRAMME_PREFIX char *PR_FUNDING_IDENTIFIER_S PROGRAMME_VAL ("identifier")
 
const PROGRAMME_PREFIX char *PR_GRANT_FUNDER_S PROGRAMME_VAL ("funder")
 
const PROGRAMME_PREFIX char *PR_FUNDING_S PROGRAMME_VAL ("funding")
 
ProgrammeAllocateProgramme (bson_oid_t *id_p, Metadata *metadata_p, const char *abbreviation_s, Crop *crop_p, const char *documentation_url_s, const char *name_s, const char *objective_s, Person *pi_p, const char *logo_url_s, const char *funders_s, const char *project_code_s)
 
void FreeProgramme (Programme *programme_p)
 Free a given Programme. More...
 
ProgrammeNodeAllocateProgrammeNode (Programme *programme_p)
 
void FreeProgrammeNode (ListItem *node_p)
 
void SetProgrammeUser (Programme *programme_p, User *user_p, bool owns_user_flag)
 
bool AddProgrammeFieldTrial (Programme *programme_p, FieldTrial *trial_p, MEM_FLAG mf)
 
uint32 GetNumberOfProgrammeFieldTrials (const Programme *programme_p)
 
json_t * GetProgrammeAsJSON (Programme *programme_p, const ViewFormat format, const FieldTrialServiceData *data_p)
 
ProgrammeGetProgrammeFromJSON (const json_t *json_p, const ViewFormat format, const FieldTrialServiceData *data_p)
 
bool AddFieldTrialsToProgrammeJSON (Programme *programme_p, json_t *program_json_p, const ViewFormat format, FieldTrialServiceData *data_p)
 
ProgrammeGetUniqueProgrammeBySearchString (const char *programme_s, const ViewFormat format, const FieldTrialServiceData *data_p)
 
ProgrammeGetProgrammeById (const bson_oid_t *id_p, const ViewFormat format, const FieldTrialServiceData *data_p)
 
ProgrammeGetProgrammeByIdString (const char *program_id_s, const ViewFormat format, const FieldTrialServiceData *data_p)
 
OperationStatus SaveProgramme (Programme *programme_p, ServiceJob *job_p, FieldTrialServiceData *data_p)
 
bool RemoveProgrammeFieldTrial (Programme *programme_p, FieldTrial *trial_p)
 Remove a FieldTrial from a given Programme. More...
 
LinkedListGetProgrammesByName (const char *const programme_s, const FieldTrialServiceData *data_p)
 
ProgrammeGetVersionedProgramme (const char *programme_id_s, const char *timestamp_s, const ViewFormat format, const FieldTrialServiceData *data_p)
 

Function Documentation

◆ PROGRAMME_CONCAT_VAL() [1/5]

const PROGRAMME_PREFIX char* PR_NAME_S PROGRAMME_CONCAT_VAL ( CONTEXT_PREFIX_SCHEMA_ORG_S  ,
"name"   
)

◆ PROGRAMME_CONCAT_VAL() [2/5]

const PROGRAMME_PREFIX char* PR_OBJECTIVE_S PROGRAMME_CONCAT_VAL ( CONTEXT_PREFIX_SCHEMA_ORG_S  ,
"description"   
)

◆ PROGRAMME_VAL() [1/10]

const PROGRAMME_PREFIX char* PR_ID_S PROGRAMME_VAL ( "_id"  )

◆ PROGRAMME_VAL() [2/10]

const PROGRAMME_PREFIX char* PR_TRIALS_S PROGRAMME_VAL ( "trials"  )

◆ PROGRAMME_CONCAT_VAL() [3/5]

const PROGRAMME_PREFIX char* PR_DOCUMENTATION_URL_S PROGRAMME_CONCAT_VAL ( CONTEXT_PREFIX_SCHEMA_ORG_S  ,
"url"   
)

◆ PROGRAMME_VAL() [3/10]

const PROGRAMME_PREFIX char* PR_PI_S PROGRAMME_VAL ( "principal_investigator"  )

◆ PROGRAMME_VAL() [4/10]

const PROGRAMME_PREFIX char* PR_CROP_S PROGRAMME_VAL ( "crop"  )

◆ PROGRAMME_CONCAT_VAL() [4/5]

const PROGRAMME_PREFIX char* PR_ABBREVIATION_S PROGRAMME_CONCAT_VAL ( CONTEXT_PREFIX_SCHEMA_ORG_S  ,
"alternateName"   
)

◆ PROGRAMME_CONCAT_VAL() [5/5]

const PROGRAMME_PREFIX char* PR_LOGO_S PROGRAMME_CONCAT_VAL ( CONTEXT_PREFIX_SCHEMA_ORG_S  ,
"image"   
)

◆ PROGRAMME_VAL() [5/10]

const PROGRAMME_PREFIX char *PR_FUNDING_ORG_NAME_S PROGRAMME_VAL ( "name"  )

◆ PROGRAMME_VAL() [6/10]

const PROGRAMME_PREFIX char* PR_FUNDERS_S PROGRAMME_VAL ( "funders"  )

◆ PROGRAMME_VAL() [7/10]

const PROGRAMME_PREFIX char* PR_CODE_S PROGRAMME_VAL ( "code"  )

◆ PROGRAMME_VAL() [8/10]

const PROGRAMME_PREFIX char* PR_FUNDING_IDENTIFIER_S PROGRAMME_VAL ( "identifier"  )

◆ PROGRAMME_VAL() [9/10]

const PROGRAMME_PREFIX char* PR_GRANT_FUNDER_S PROGRAMME_VAL ( "funder"  )

◆ PROGRAMME_VAL() [10/10]

const PROGRAMME_PREFIX char* PR_FUNDING_S PROGRAMME_VAL ( "funding"  )

◆ AllocateProgramme()

Programme* AllocateProgramme ( bson_oid_t *  id_p,
Metadata metadata_p,
const char *  abbreviation_s,
Crop crop_p,
const char *  documentation_url_s,
const char *  name_s,
const char *  objective_s,
Person pi_p,
const char *  logo_url_s,
const char *  funders_s,
const char *  project_code_s 
)

◆ AllocateProgrammeNode()

ProgrammeNode* AllocateProgrammeNode ( Programme programme_p)

◆ FreeProgrammeNode()

void FreeProgrammeNode ( ListItem node_p)

◆ SetProgrammeUser()

void SetProgrammeUser ( Programme programme_p,
User user_p,
bool  owns_user_flag 
)

◆ AddProgrammeFieldTrial()

bool AddProgrammeFieldTrial ( Programme programme_p,
FieldTrial trial_p,
MEM_FLAG  mf 
)

◆ GetNumberOfProgrammeFieldTrials()

uint32 GetNumberOfProgrammeFieldTrials ( const Programme programme_p)

◆ GetProgrammeAsJSON()

json_t* GetProgrammeAsJSON ( Programme programme_p,
const ViewFormat  format,
const FieldTrialServiceData data_p 
)

◆ GetProgrammeFromJSON()

Programme* GetProgrammeFromJSON ( const json_t *  json_p,
const ViewFormat  format,
const FieldTrialServiceData data_p 
)

◆ AddFieldTrialsToProgrammeJSON()

bool AddFieldTrialsToProgrammeJSON ( Programme programme_p,
json_t *  program_json_p,
const ViewFormat  format,
FieldTrialServiceData data_p 
)

◆ GetUniqueProgrammeBySearchString()

Programme* GetUniqueProgrammeBySearchString ( const char *  programme_s,
const ViewFormat  format,
const FieldTrialServiceData data_p 
)

◆ GetProgrammeById()

Programme* GetProgrammeById ( const bson_oid_t *  id_p,
const ViewFormat  format,
const FieldTrialServiceData data_p 
)

◆ GetProgrammeByIdString()

Programme* GetProgrammeByIdString ( const char *  program_id_s,
const ViewFormat  format,
const FieldTrialServiceData data_p 
)

◆ SaveProgramme()

OperationStatus SaveProgramme ( Programme programme_p,
ServiceJob job_p,
FieldTrialServiceData data_p 
)

◆ GetProgrammesByName()

LinkedList* GetProgrammesByName ( const char *const  programme_s,
const FieldTrialServiceData data_p 
)

◆ GetVersionedProgramme()

Programme* GetVersionedProgramme ( const char *  programme_id_s,
const char *  timestamp_s,
const ViewFormat  format,
const FieldTrialServiceData data_p 
)