Window Server Plug-in Framework Overview

The Window Server plug-in framework is a generic framework that is part of both the ScreenPlay (NGA) and non-ScreenPlay variants. The framework is used for graphic drawer plug-ins (also known as Content Rendering Plug-ins or CRPs) and render stage plug-ins. However, the APIs are different in the two architectures. Except where stated otherwise, this documentation applies to the ScreenPlay variant.

The Window Server plug-in framework consists of APIs and Service Provider Interfaces (SPIs). An SPI differs from an API in that an API provides functionality that a developer uses, whereas an SPI defines an interface for which a developer creates a concrete implementation.

The SPIs consist of abstract interfaces for plug-ins, such as CRPs and render stage plug-ins. Developers are expected to provide concrete implementations of these interfaces. The APIs consist of object provider interfaces that can be used by the plug-ins.

The framework is a relatively thin wrapper around the Symbian ECOM component. It has some Window Server-specific features. For example, the plug-ins that are to be loaded are specified in the WSINI.INI file.

The generic plug-in framework provides a standard mechanism for adding new types of plug-ins. The intention is that when new types of plug-in are introduced, they will use this generic plug-in framework rather than an ad hoc mechanism, leading to reduced implementation time.

Window Server plug-in framework library

The following table provides details of the DLLs that provide the plug-in framework and the library to which your code links.

DLL LIB Short description

wsgraphicdrawer_nga.dll

wsgraphicdrawer.lib

Contains the server-side base classes for Window Server plug-ins in the ScreenPlay variant. The plug-ins include graphic drawer plug-ins (which are also known as Content Rendering Plug-ins or CRPs) and render stage plug-ins.

wsgraphicdrawer_nonnga.dll

wsgraphicdrawer.lib

Contains the server-side base classes for Window Server plug-ins in the non-ScreenPlay variant. The plug-ins include graphic drawer plug-ins (which are also known as Content Rendering Plug-ins or CRPs), fader plug-ins and render stage plug-ins.