git-svn-id: svn+ssh://svn.dolda2000.com/srv/svn/repos/src/doldaconnect@444
959494ce-11ee-0310-bf91-
de5d638817bd
void *udata;
struct dc_fnetpeer *peers;
struct dc_fnetpeerdatum *peerdata;
void *udata;
struct dc_fnetpeer *peers;
struct dc_fnetpeerdatum *peerdata;
+ void (*newpeercb)(struct dc_fnetpeer *peer);
+ void (*delpeercb)(struct dc_fnetpeer *peer);
+ void (*chpeercb)(struct dc_fnetpeer *peer);
};
struct dc_fnetpeerdatum
};
struct dc_fnetpeerdatum
if((fn = dc_findfnetnode(ires->argv[0].val.num)) != NULL)
{
if((peer = dc_fnetfindpeer(fn, ires->argv[1].val.str)) == NULL)
if((fn = dc_findfnetnode(ires->argv[0].val.num)) != NULL)
{
if((peer = dc_fnetfindpeer(fn, ires->argv[1].val.str)) == NULL)
- addpeer(fn, ires->argv[1].val.str, ires->argv[2].val.str);
+ {
+ peer = addpeer(fn, ires->argv[1].val.str, ires->argv[2].val.str);
+ if(fn->newpeercb != NULL)
+ fn->newpeercb(peer);
+ }
}
break;
case 631:
if((fn = dc_findfnetnode(ires->argv[0].val.num)) != NULL)
{
if((peer = dc_fnetfindpeer(fn, ires->argv[1].val.str)) != NULL)
}
break;
case 631:
if((fn = dc_findfnetnode(ires->argv[0].val.num)) != NULL)
{
if((peer = dc_fnetfindpeer(fn, ires->argv[1].val.str)) != NULL)
+ {
+ if(fn->delpeercb != NULL)
+ fn->delpeercb(peer);
+ if(fn->chpeercb != NULL)
+ fn->chpeercb(peer);