Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: EthernetInterface HTTPServer RemoteIR SDFileSystem mbed-rpc mbed-rtos mbed
Fork of SmartRemote by
db.cpp
- Committer:
- sarvagyavaish
- Date:
- 2013-12-02
- Revision:
- 3:a3b4d032f48f
- Child:
- 10:da52ff0b93c0
File content as of revision 3:a3b4d032f48f:
#include "mbed.h"
#include "db.h"
#include "SDFileSystem.h"
void db_insert_tuple(char *new_name, char *new_code)
{
char tuple_code[128];
char tuple_name[128];
char tuple_id[128];
int id = 0;
// create file if it does not exist
FILE *ftemp = fopen("/sd/SmartRemote/db.txt", "a");
fclose(ftemp);
// read file to get last id
FILE *fdb = fopen("/sd/SmartRemote/db.txt", "r");
while ( !feof(fdb) ) {
db_get_tuple(fdb, tuple_id, tuple_name, tuple_code);
if (strlen(tuple_name) != 0) {
printf("Tuple: |%s| \t |%s| \t |%s|\n", tuple_id, tuple_name, tuple_code);
id = atoi(tuple_id);
}
}
fclose(fdb);
// id of new tuple
id++;
sprintf(tuple_id, "%d", id);
// write new tuple to file
char new_row[128];
FILE *fwrite = fopen("/sd/SmartRemote/db.txt", "a");
if (fwrite == NULL) { // if error
printf("Could not open file for write\n");
}
sprintf(new_row, "%s\n%s\n%s\n", tuple_id, new_name, new_code); // create new row
fprintf(fwrite, new_row); // write to file
fclose(fwrite); // close file
printf("Record Added: %s\n", new_row);
}
void db_print_all(FILE *fread)
{
char c;
while ( !feof(fread) ) {
c=fgetc(fread);
printf("%c", c);
}
}
void db_find_tuple(FILE *fread, int id_to_find, char *tuple_name, char *tuple_code)
{
char tuple_id[128];
int id;
while ( !feof(fread) ) {
db_get_tuple(fread, tuple_id, tuple_name, tuple_code);
if (strlen(tuple_name) != 0) {
id = atoi(tuple_id);
if (id == id_to_find) {
break;
}
}
else {
sprintf(tuple_id, "%d", 0);
sprintf(tuple_id, "%s", "");
sprintf(tuple_id, "%s", "");
}
}
printf("Tuple Found: |%s| \t |%s| \t |%s|\n", tuple_id, tuple_name, tuple_code);
}
void db_get_tuple(FILE *fread, char *id_str, char *name_str, char *code_str)
{
unsigned char c;
int index;
// read ID;
index = 0;
do {
c = fgetc(fread);
id_str[index] = c;
index++;
} while (c != '\n' && !feof(fread) );
id_str[index-1] = 0;
// read NAME;
index = 0;
do {
c = fgetc(fread);
name_str[index] = c;
index++;
} while (c != '\n' && !feof(fread) );
name_str[index-1] = 0;
// read CODE
index = 0;
do {
c = fgetc(fread);
code_str[index] = c;
index++;
} while (c != '\n' && !feof(fread) );
code_str[index-1] = 0;
}
