- if (ev->GetEventID() == "cap_req")
- {
- CapData *data = (CapData *) ev->GetData();
-
- std::vector<std::string>::iterator it;
- if ((it = std::find(data->wanted.begin(), data->wanted.end(), cap)) != data->wanted.end())
- {
- // we can handle this, so ACK it, and remove it from the wanted list
- data->ack.push_back(*it);
- data->wanted.erase(it);
- data->user->Extend(extname);
- }
- }
-
- if (ev->GetEventID() == "cap_ls")
+ public:
+ LocalIntExt ext;
+ const std::string cap;
+ GenericCap(Module* parent, const std::string &Cap) : ext("cap_" + Cap, parent), cap(Cap)