1 #ifndef __IMEXTERNAL_H__
2 #define __IMEXTERNAL_H__
25 set
<imevent::imeventtype
> event
;
26 set
<protocolname
> proto
;
31 string name
, code
, sname
, output
;
41 static string
geteventname(imevent::imeventtype et
);
47 bool exec(imevent
*ev
, int &result
, int option
);
48 bool exec(const imcontact
&ic
, string
&outbuf
);
50 bool load(ifstream
&f
);
52 bool matches(int aoptions
, protocolname apname
) const;
53 string
getname() const { return name
; }
56 vector
<action
> actions
;
64 int exec(const imevent
&ev
);
65 int exec(imevent
*ev
, bool &result
, int option
= 0);
66 // returns the amount of external actions ran
67 // option can be aopresend or aoprereceive if needed
68 // and "result" is filled in with a bool that indicates
69 // if the event is accepted or not
71 bool execmanual(const imcontact
&ic
, int id
, string
&outbuf
);
73 vector
<pair
<int, string
> > getlist(int options
, protocolname pname
) const;
76 extern imexternal external
;