Protocol Plugin ID
A protocol plugin will be identified by an ID that is assigned by the daemon. This ID is used by all plugins to interact with the protocol plugin. When a plugin wishes to send an event to the plugin, it must include the protocol plugin ID.
Additionally, each user in Licq will be linked to a specific protocol ID. This is required because Licq will now support multiple simultaneous accounts of the same protocol. Which means that one buddy (user) may be on multiple different accounts at the same time. The protocol ID will be a member of the user class to specify which instance of the protocol plugin the user is linked to. This value will be written to the user's config file.
Naming Convention
One way is to name the plugins are with numbers, such as <pluginName>_<ownerIdNum>. The owner file only needs the protocol name, the number is part of the string ID in the config file. That way the config file would be like:
Owner File ========== Owner1.ID = 16325723 Owner1.Password = secret Owner1.Protocol = ICQ Owner2.ID = aasdf@msn.com Owner2.Password = msnrulez Owner2.Protocol = MSN User File ========= Name = User ProtocolID = ICQ_1
I'm open for more suggestions on how to handle this, so please discuss! (->ProtocolPluginId_Discussion)
