#include <entity.h>
Public Member Functions | |
const std::string & | nick () const |
Returns the nick (name) of the entity. | |
const std::string & | name () const |
Returns the name of the entity. | |
const session & | parent () const |
Returns the parent session. | |
virtual bool | is_user () const =0 |
Determine if this entity is a user object. | |
virtual bool | is_channel () const =0 |
Determine if this entity is a channel object. | |
const user & | to_user () const |
Convert an entity object to a user object. | |
const channel & | to_channel () const |
Convert an entity object to a channel object. | |
bool | is_temporary () const |
Determine whether the entity is temporary or not. | |
bool | cmd_privmsg (const std::string &text) const |
Send a message to the entity. | |
bool | cmd_notice (const std::string &text) const |
Send a notice to the entity. | |
bool | cmd_mode (const std::string &modestring) const |
Send a mode command to the entity. | |
bool | cmd_ctcp (const std::string &command, const std::string &text="") const |
Send a CTCP message to the entity. | |
bool | cmd_action (const std::string &text) const |
Send a CTCP ACTION message to the entity. | |
Public Attributes | |
boost::signal1< void, entity & > | sig_deletable |
Emitted when an entity may be safely deleted. | |
boost::signal1< void, entity & > | sig_deleting |
Emitted when an entity is about to be deleted. | |
boost::signal1< void, const message & > | sig_privmsg_msg |
Emitted when the entity receives a PRIVMSG. | |
boost::signal1< void, const message & > | sig_notice_msg |
Emitted when the entity receives a NOTICE. | |
boost::signal1< void, const message & > | sig_ctcp_msg |
Emitted when the entity receives a CTCP message. |
Users and channels share several characteristics - they can both have messages sent to them, both have modes, etc. So the user and channel objects are derived from a common object, called entity.
An entity object will be provided where both user and channel are equally applicable. For example, the recipient of a message can be either a channel or a user, so functions and signals dealing with the recipient of messages will use an entity.
Similarly, behaviour which can be done to both users and channels (e.g. sending a message) is implemented in the entity class.
You can find out whether an entity is really a user or a channel by using the is_user() and is_channel() functions. Once you have found out, you can use user-specific and channel-specific functions by casting the entity to a user or channel object. The to_user() and to_channel() functions are provided as a convenient way to do this.
const string & ircpp::entity::nick | ( | ) | const |
const string & ircpp::entity::name | ( | ) | const |
const session & ircpp::entity::parent | ( | ) | const |
virtual bool ircpp::entity::is_user | ( | ) | const [pure virtual] |
Determine if this entity is a user object.
An entity may represent either a user or a channel. If it represents a user, this function will return true. You may then use to_user() to return a correctly-typed reference to a user object
Implemented in ircpp::channel, and ircpp::user.
virtual bool ircpp::entity::is_channel | ( | ) | const [pure virtual] |
Determine if this entity is a channel object.
An entity may represent either a user or a channel. If it represents a channel, this function will return true. You may then use to_channel() to return a correctly-typed reference to a channel object
Implemented in ircpp::channel, and ircpp::user.
const user & ircpp::entity::to_user | ( | ) | const |
Convert an entity object to a user object.
An entity object may be either a user or a channel. If it is a user, this function can be used to convert an entity reference to a user reference.
This function is included for convenience. It has the same effect as dynamic_cast<const user&>, but will not throw an exception if the entity is not a user. Instead it will return the null user object.
You can use is_user() to determine whether the entity is actually a user or not before using this function.
const channel & ircpp::entity::to_channel | ( | ) | const |
Convert an entity object to a channel object.
An entity object may be either a user or a channel. If it is a channel, this function can be used to convert an entity reference to a channel reference.
This function is included for convenience. It has the same effect as dynamic_cast<const channel&>, but will not throw an exception if the entity is not a channel. Instead it will return the null channel object.
You can use is_channel() to determine whether the entity is actually a channel or not before using this function.
bool ircpp::entity::is_temporary | ( | ) | const |
Determine whether the entity is temporary or not.
Entities may be temporary (destroyed after the message they are attached to has been processed) or permanent (stored in a list and accessible until they are deleted). This function determines whether an entity is temporary or permanent.
bool ircpp::entity::cmd_privmsg | ( | const std::string & | text | ) | const |
bool ircpp::entity::cmd_notice | ( | const std::string & | text | ) | const |
bool ircpp::entity::cmd_mode | ( | const std::string & | modestring | ) | const |
bool ircpp::entity::cmd_ctcp | ( | const std::string & | command, | |
const std::string & | text = "" | |||
) | const |
bool ircpp::entity::cmd_action | ( | const std::string & | text | ) | const |
boost::signal1<void, entity&> ircpp::entity::sig_deletable [mutable] |
Emitted when an entity may be safely deleted.
When the session has its lists set to manual mode, it is your responsibility to delete user and channel objects when finished with them. This signal indicates that libircpp has finshed with this entity , and you may safely delete it when you no longer need it. For more information, see the manual section on lists Note that this signal is specific to one entity. If you wish to be notified when any user/channel becomes deletable, you should use session::user_deletable and session::channel_deletable
boost::signal1<void, entity&> ircpp::entity::sig_deleting [mutable] |
boost::signal1<void, const message&> ircpp::entity::sig_privmsg_msg [mutable] |
boost::signal1<void, const message&> ircpp::entity::sig_notice_msg [mutable] |
boost::signal1<void, const message&> ircpp::entity::sig_ctcp_msg [mutable] |