Additions:
//line 400 -- add top block of conf item
Additions:
~7 Run autoconf
(or autoconf2xx as the case may be). This builds ./configure file
(or autoconf2xx as the case may be). This builds ./configure file
Deletions:
Additions:
~7 Run autoconf (or autoconf2xx as the case may be) - This builds ./configure file
~8 run /.configure
~8 run /.configure
Deletions:
Additions:
~4 edit src/conf.c to read new conf entries
Deletions:
Additions:
~3 Added the following to include/account.h
~5 edit src/conf.c to read new conf entries
~5 Update modules/Makefile.in
~6 add to /configure.ac
~7 run /configure
~5 edit src/conf.c to read new conf entries
~5 Update modules/Makefile.in
~6 add to /configure.ac
~7 run /configure
Deletions:
~3 edit src/conf.c to read new conf entries
~4 Update modules/Makefile.in
~5 add to /configure.ac
~6 run /configure
Additions:
<< HINT: I ended up using make distclean && ./configure && make && make install a lot... Comes in handy, especially when things become strange; shutdown services and run that line and usually things just dissapear << ::c::
Additions:
~2 Write a [[AthemeMemoServMain main.c]]
~5 Build [[AthemeMemoServHelp help.c]] file w/ hookins
~6 [[AthemeMemoServHelp Build help structure]]
~5 Build [[AthemeMemoServHelp help.c]] file w/ hookins
~6 [[AthemeMemoServHelp Build help structure]]
Deletions:
~5 Build help.c file w/ hookins
~6 Build help structure
Additions:
// later on...
/* struct for account memos */
struct mymemo_ {
char sender[NICKLEN];
char text[MEMOLEN];
time_t sent;
uint32_t status;
list_t metadata;
uint8_t newcount;
};
/* memo status flags */
#define MEMO_NEW 0x00000000
#define MEMO_READ 0x00000001
/* struct for account memos */
struct mymemo_ {
char sender[NICKLEN];
char text[MEMOLEN];
time_t sent;
uint32_t status;
list_t metadata;
uint8_t newcount;
};
/* memo status flags */
#define MEMO_NEW 0x00000000
#define MEMO_READ 0x00000001
Additions:
~4 Write other functions - [[AthemeMemoServSend send.c]], [[AthemeMemoServRead read.c]], [[AthemeMemoServList list.c]], [[AthemeMemoServForward forward.c]], [[AthemeMemoServDelete delete.c]]
Deletions:
Additions:
~3 Added a list_t to includes/account.h to store memos, memo struct in account.h (while putting constant in includes/common.h)
Deletions:
Additions:
~3 Added a list_t to includes/account.h to store memos
~4 Write other functions - send.c, read.c, list.c, forward.c, ignore.c, delete.c
~5 Build help.c file w/ hookins
~6 Build help structure
~7 Recompile
~8 Add loadmodules to atheme.conf
~4 Write other functions - send.c, read.c, list.c, forward.c, ignore.c, delete.c
~5 Build help.c file w/ hookins
~6 Build help structure
~7 Recompile
~8 Add loadmodules to atheme.conf
Deletions:
~4 Build help.c file w/ hookins
~5 Build help structure
~6 Recompile
~7 Add loadmodules to atheme.conf
Additions:
~3 Write other functions - send.c, read.c, list.c, forward.c, ignore.c, delete.c
~4 Build help.c file w/ hookins
~5 Build help structure
~6 Recompile
~7 Add loadmodules to atheme.conf
~4 Build help.c file w/ hookins
~5 Build help structure
~6 Recompile
~7 Add loadmodules to atheme.conf
Deletions:
~4 Write other files
~5 Write help files/edit help.c to include
~6 Build help structure
~7 Recompile
~8 Add loadmodules to atheme.conf
No Differences
Additions:
(this will store info about the services)
changed SUBDIRS
SUBDIRS = chanserv nickserv global operserv userserv xmlrpc memoserv
This will tell it to recurse into memoserv dir
modules/memoserv/Makefile \
This will tell it to compile based on the makefile in the dir, generated by the configure
this will build make files
changed SUBDIRS
SUBDIRS = chanserv nickserv global operserv userserv xmlrpc memoserv
This will tell it to recurse into memoserv dir
modules/memoserv/Makefile \
This will tell it to compile based on the makefile in the dir, generated by the configure
this will build make files
Additions:
//line 27 -- definition of sig
static int c_memoserv(CONFIGENTRY *);
//line 82 -- definition of sig
/* MemoServ client information. */
static int c_ms_nick(CONFIGENTRY *);
static int c_ms_user(CONFIGENTRY *);
static int c_ms_host(CONFIGENTRY *);
static int c_ms_real(CONFIGENTRY *);
//line 140 -- table to store conf data in
list_t conf_ms_table;
//line 392 -- add a conf block
add_top_conf("MEMOSERV", c_memoserv);
//line 458 -- conf items for parsing
/* memoserv{} block */
add_conf_item("NICK", &conf_ms_table, c_ms_nick);
add_conf_item("USER", &conf_ms_table, c_ms_user);
add_conf_item("HOST", &conf_ms_table, c_ms_host);
add_conf_item("REAL", &conf_ms_table, c_ms_real);
//line 518 -- adds a hook, tells it to read memoserv{} and give it to subblock handler, writing to conf_ms_table
static int c_memoserv(CONFIGENTRY *ce)
subblock_handler(ce, &conf_ms_table);
return 0;
}
//line 1141 -- these grab the actual conf values
static int c_ms_nick(CONFIGENTRY *ce)
if (ce->ce_vardata == NULL)
PARAM_ERROR(ce);
memosvs.nick = sstrdup(ce->ce_vardata);
return 0;
}
static int c_ms_user(CONFIGENTRY *ce)
if (ce->ce_vardata == NULL)
PARAM_ERROR(ce);
memosvs.user = sstrdup(ce->ce_vardata);
return 0;
}
static int c_ms_host(CONFIGENTRY *ce)
if (ce->ce_vardata == NULL)
PARAM_ERROR(ce);
memosvs.host = sstrdup(ce->ce_vardata);
return 0;
}
static int c_ms_real(CONFIGENTRY *ce)
if (ce->ce_vardata == NULL)
PARAM_ERROR(ce);
memosvs.real = sstrdup(ce->ce_vardata);
return 0;
}
static int c_memoserv(CONFIGENTRY *);
//line 82 -- definition of sig
/* MemoServ client information. */
static int c_ms_nick(CONFIGENTRY *);
static int c_ms_user(CONFIGENTRY *);
static int c_ms_host(CONFIGENTRY *);
static int c_ms_real(CONFIGENTRY *);
//line 140 -- table to store conf data in
list_t conf_ms_table;
//line 392 -- add a conf block
add_top_conf("MEMOSERV", c_memoserv);
//line 458 -- conf items for parsing
/* memoserv{} block */
add_conf_item("NICK", &conf_ms_table, c_ms_nick);
add_conf_item("USER", &conf_ms_table, c_ms_user);
add_conf_item("HOST", &conf_ms_table, c_ms_host);
add_conf_item("REAL", &conf_ms_table, c_ms_real);
//line 518 -- adds a hook, tells it to read memoserv{} and give it to subblock handler, writing to conf_ms_table
static int c_memoserv(CONFIGENTRY *ce)
subblock_handler(ce, &conf_ms_table);
return 0;
}
//line 1141 -- these grab the actual conf values
static int c_ms_nick(CONFIGENTRY *ce)
if (ce->ce_vardata == NULL)
PARAM_ERROR(ce);
memosvs.nick = sstrdup(ce->ce_vardata);
return 0;
}
static int c_ms_user(CONFIGENTRY *ce)
if (ce->ce_vardata == NULL)
PARAM_ERROR(ce);
memosvs.user = sstrdup(ce->ce_vardata);
return 0;
}
static int c_ms_host(CONFIGENTRY *ce)
if (ce->ce_vardata == NULL)
PARAM_ERROR(ce);
memosvs.host = sstrdup(ce->ce_vardata);
return 0;
}
static int c_ms_real(CONFIGENTRY *ce)
if (ce->ce_vardata == NULL)
PARAM_ERROR(ce);
memosvs.real = sstrdup(ce->ce_vardata);
return 0;
}
Additions:
<< NOTE: your services will NOT join a channel unless it's either explicitly told to (join on config_options.chan) OR you start the services with that services agent! << ::c::
Additions:
~3 edit src/conf.c to read new conf entries
~4 Update modules/Makefile.in
~5 add to /configure.ac
~6 run /configure
~4 Update modules/Makefile.in
~5 add to /configure.ac
~6 run /configure
Deletions:
~4 add to /configure.ac
~5 run /configure
Deletions:
Additions:
**General Setup**
~1 Create directories in help and modules
~2 update include/services.h
~3 Update modules/Makefile.in
~4 add to /configure.ac
~5 run /configure
**Module Specific**
~1 Build make files in /modules/memoserv
~2 Write a main.c
~3 Write a help.c
~4 Write other files
~5 Write help files/edit help.c to include
~6 Build help structure
~7 Recompile
~8 Add loadmodules to atheme.conf
~1 Create directories in help and modules
~2 update include/services.h
~3 Update modules/Makefile.in
~4 add to /configure.ac
~5 run /configure
**Module Specific**
~1 Build make files in /modules/memoserv
~2 Write a main.c
~3 Write a help.c
~4 Write other files
~5 Write help files/edit help.c to include
~6 Build help structure
~7 Recompile
~8 Add loadmodules to atheme.conf
Deletions:
~2 - Add a section to your atheme.conf
~3 - Create help files
~4 - build make files in /memoserv
~5 - fix make file in modules
~6 - create a main
~7 - update include/services.h
~8 - edit help.c in modules dir, reflect changes in make
Additions:
~4 - build make files in /memoserv
~5 - fix make file in modules
~6 - create a main
~7 - update include/services.h
%%(c)
/* optional services */
struct memosvs
{
char *nick;
char *user;
char *host;
char *real;
char *disp;
service_t *me;
} memosvs;
%%
~8 - edit help.c in modules dir, reflect changes in make
~5 - fix make file in modules
~6 - create a main
~7 - update include/services.h
%%(c)
/* optional services */
struct memosvs
{
char *nick;
char *user;
char *host;
char *real;
char *disp;
service_t *me;
} memosvs;
%%
~8 - edit help.c in modules dir, reflect changes in make