Using Pogo and Abstract Classes
Pogo implements support for generating abstract classes and using them to implement concrete device classes. This page describes how to use pogo and abstract classes.
Defining an Abstract Classes
To define an abstract class with pogo proceed as normal with pogo to define the class. Take care to define only the minimum set of commands and attributes which most devices of that family need. The only difference from a concrete class is when you generate the source code select the radio button "Generate as Abstract Class" :

Inheriting from an Abstract Class
When writing a new device server which belongs to a family of an existing Abstract Class use pogo to define the new class and in the "Inherited from class" selection box select the abstract class your device belongs to :

If no appropiate class exists then define a new one. Pogo uses an environment variable SUPER_HOME to find the list of abstract classes. Start pogo with this option :
- -DSUPER_HOME=/directory/where/to/find/AbstractClasses
You can find the current set of tango abstract classes on CVS on sourceforge here :

