This is Webservice SDK for mbed. LPCXpresso1769/LPC1768/FRDM-K64F/LPC4088

Dependents:   MbedFileServer_1768MiniDK2 RedWireBridge IssueDebug_gcc MiMicRemoteMCU-for-Mbed ... more

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers NyLPC_cJsonWeiter.c Source File

NyLPC_cJsonWeiter.c

00001 #include "NyLPC_cHttpResponseWriter.h"
00002 #include "NyLPC_stdlib.h"
00003 #include <stdlib.h>
00004 /*
00005 typedef NyLPC_TUInt8 NyLPC_NyLPC_TcJsonWeiter_ST;
00006 #define NyLPC_NyLPC_TcJsonWeiter_ST_STR ((NyLPC_NyLPC_TcJsonWeiter_ST)(2))
00007 #define NyLPC_NyLPC_TcJsonWeiter_ST_ARRAY ((NyLPC_NyLPC_TcJsonWeiter_ST)(3))
00008 #define NyLPC_NyLPC_TcJsonWeiter_ST_NODE ((NyLPC_NyLPC_TcJsonWeiter_ST)(4))
00009 typedef struct NyLPC_TcJsonWeiter NyLPC_TcJsonWeiter_t;
00010 struct NyLPC_TcJsonWeiter
00011 {
00012     NyLPC_NyLPC_TcJsonWeiter_ST _stack[8];
00013     NyLPC_TUInt8 _stack_level;
00014     NyLPC_TBool _noerror;
00015 };
00016 void NyLPC_cJsonWeiter_initialize(NyLPC_TcJsonWeiter_t* i_inst)
00017 {
00018     i_inst->_stack_level=0;
00019 }
00020 
00021 NyLPC_TBool NyLPC_cJsonWeiter_putNode(NyLPC_TcJsonWeiter_t* i_inst,const NyLPC_TChar* i_name,const NyLPC_TChar* i_value)
00022 {
00023     NyLPC_cHttpHeaderWriter_writeBody(NULL,i_name);
00024     NyLPC_cHttpHeaderWriter_writeBody(NULL,":");
00025     NyLPC_cHttpHeaderWriter_writeBody(NULL,i_value);
00026     NyLPC_cHttpHeaderWriter_writeBody(NULL,",");
00027 }
00028 NyLPC_TBool NyLPC_cJsonWeiter_putStrNode(NyLPC_TcJsonWeiter_t* i_inst,const NyLPC_TChar* i_name,const NyLPC_TChar* i_value)
00029 {
00030     NyLPC_cHttpHeaderWriter_writeBody(NULL,i_name);
00031     NyLPC_cHttpHeaderWriter_writeBody(NULL,":\"");
00032     NyLPC_cHttpHeaderWriter_writeBody(NULL,i_value);
00033     NyLPC_cHttpHeaderWriter_writeBody(NULL,"\",");
00034 }
00035 NyLPC_TBool NyLPC_cJsonWeiter_putIntNode(NyLPC_TcJsonWeiter_t* i_inst,const NyLPC_TChar* i_name,const NyLPC_TInt32 i_value,int i_base)
00036 {
00037     NyLPC_TChar v[12];
00038     if(!i_inst->_noerror){
00039         return NyLPC_TBool_FALSE;
00040     }
00041     itoa(i_value,v,i_base);
00042     i_inst->_noerror=NyLPC_cJsonWeiter_putNode(i_inst,i_name,v);
00043     return i_inst->_noerror;
00044 }
00045 NyLPC_TBool NyLPC_cJsonWeiter_putBoolNode(NyLPC_TcJsonWeiter_t* i_inst,const NyLPC_TChar* i_name,NyLPC_TBool i_value)
00046 {
00047     if(!i_inst->_noerror){
00048         return NyLPC_TBool_FALSE;
00049     }
00050     i_inst->_noerror=NyLPC_cJsonWeiter_putNode(i_inst,i_name,i_value?"true":"false");
00051     return i_inst->_noerror;
00052 }
00053 
00054 
00055 NyLPC_TBool NyLPC_cJsonWeiter_startNode(NyLPC_TcJsonWeiter_t* i_inst,const NyLPC_TChar* i_name)
00056 {
00057     sprintf
00058     NyLPC_cHttpHeaderWriter_writeBody(NULL,i_name);
00059     NyLPC_cHttpHeaderWriter_writeBody(NULL,":{");
00060 }
00061 NyLPC_TBool NyLPC_cJsonWeiter_endNode(NyLPC_TcJsonWeiter_t* i_inst)
00062 {
00063     NyLPC_cHttpHeaderWriter_writeBody(NULL,"},");
00064 }
00065 NyLPC_TBool NyLPC_cJsonWeiter_startArray(NyLPC_TcJsonWeiter_t* i_inst,const NyLPC_TChar* i_name)
00066 {
00067     NyLPC_cHttpHeaderWriter_writeBody(NULL,i_name);
00068     NyLPC_cHttpHeaderWriter_writeBody(NULL,":[");
00069 }
00070 NyLPC_TBool NyLPC_cJsonWeiter_endArray(NyLPC_TcJsonWeiter_t* i_inst,const NyLPC_TChar* i_name)
00071 {
00072     NyLPC_cHttpHeaderWriter_writeBody(NULL,"],");
00073 }*/