PureMVC::IMediatorRestricted Class Reference

The untemplated portion of the interface definition for a PureMVC Mediator. More...

#include <pmvcpp.h>

Inheritance diagram for PureMVC::IMediatorRestricted:
Inheritance graph
[legend]
Collaboration diagram for PureMVC::IMediatorRestricted:
Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual std::string getMediatorName ()=0
 Get the IMediator instance name.
virtual std::vector< int > listNotificationInterests ()=0
 List INotification interests.
virtual void onRegister ()=0
 Called by the View when the Mediator is registered.
virtual void onRemove ()=0
 Called by the View when the Mediator is removed.
virtual void sendNotification (int notificationName, Object *body, int notificationType)=0
 Send a INotification.
virtual void sendNotification (int notificationName, int notificationType)=0
virtual void sendNotification (int notificationName, Object *body)=0
virtual void sendNotification (int notificationName)=0
virtual void initializeNotifier (std::string key)=0
 Initialize this INotifier instance.
virtual void handleNotification (INotification *notification)=0
 Handle an INotification.

Detailed Description

The untemplated portion of the interface definition for a PureMVC Mediator.

IMediator has been split into two pieces to deal with C++'s template system.

In PureMVC, IMediator implementors assume these responsibilities:

Additionally, IMediators typically:

When an IMediator is registered with the IView, the IView will call the IMediator's listNotificationInterests method. The IMediator will return an Array of INotification names which it wishes to be notified about.

The IView will then create an Observer object encapsulating that IMediator's (handleNotification) method and register it as an Observer for each INotification name returned by listNotificationInterests.

A concrete IMediator implementor usually looks something like this:

An example goes here

See also:
INotification

Member Function Documentation

virtual std::string PureMVC::IMediatorRestricted::getMediatorName (  )  [pure virtual]

Get the IMediator instance name.

Returns:
the IMediator instance name

Implemented in PureMVC::Mediator< T >.

virtual void PureMVC::INotificationHandler::handleNotification ( INotification notification  )  [pure virtual, inherited]

Handle an INotification.

Parameters:
notification the INotification to be handled

Implemented in PureMVC::Mediator< T >.

virtual void PureMVC::INotifier::initializeNotifier ( std::string  key  )  [pure virtual, inherited]

Initialize this INotifier instance.

This is how a Notifier gets its multitonKey. Calls to sendNotification or to access the facade will fail until after this method has been called.

Parameters:
key the multitonKey for this INotifier to use

Implemented in PureMVC::Notifier, and PureMVC::Facade.

virtual std::vector<int> PureMVC::IMediatorRestricted::listNotificationInterests (  )  [pure virtual]

List INotification interests.

Returns:
an Array of the INotification names this IMediator has an interest in.

Implemented in PureMVC::Mediator< T >.

virtual void PureMVC::IMediatorRestricted::onRegister (  )  [pure virtual]

Called by the View when the Mediator is registered.

Implemented in PureMVC::Mediator< T >.

virtual void PureMVC::IMediatorRestricted::onRemove (  )  [pure virtual]

Called by the View when the Mediator is removed.

Implemented in PureMVC::Mediator< T >.

virtual void PureMVC::INotifier::sendNotification ( int  notificationName,
Object body,
int  notificationType 
) [pure virtual, inherited]

Send a INotification.

Convenience method to prevent having to construct new notification instances in our implementation code.

Parameters:
notificationName the name of the notification to send
body the body of the notification (optional)
type the type of the notification (optional)

Implemented in PureMVC::Notifier, and PureMVC::Facade.


The documentation for this class was generated from the following file:
 All Classes Namespaces Functions Variables

Generated on Fri Dec 18 13:25:44 2009 for PureMVC++ by  doxygen 1.6.1