Properties

[quote]- When are properties written to the device server? Only on startup? I’m
asking because I want to implement some sanity checking on the
property’s values. And I’m not sure where to do that especially since
the properties are public members.[/quote]
The properties are queried from the database in the get_class_property() and get_device_property() methods in the class and device classes respectively. They are then applied to the device in the get_device_property() method in the following order:

class property (in database) → default device (in code) → device property (in database)

[quote]- By whom are properties written to the device server? Only by the
database server?[/quote]
Primarily but also from the code (specified via pogo).

[quote]- Jive does not show my device properties. Are these only shown if they
exist in the database?[/quote]
You have to define them in the database first.

[quote=“Andy”][quote]- When are properties written to the device server? Only on startup? I’m
asking because I want to implement some sanity checking on the
property’s values. And I’m not sure where to do that especially since
the properties are public members.[/quote]
The properties are queried from the database in the get_class_property() and get_device_property() methods in the class and device classes respectively. They are then applied to the device in the get_device_property() method in the following order:

class property (in database) → default device (in code) → device property (in database)
[/quote]
That means device properties of a device server do not change during its lifetime?

[quote=“Andy”][quote]- By whom are properties written to the device server? Only by the
database server?[/quote]
Primarily but also from the code (specified via pogo).[/quote]

Thanks.

[quote=“Andy”]

[quote]- Jive does not show my device properties. Are these only shown if they
exist in the database?[/quote]
You have to define them in the database first.[/quote]

I see.

One more question popped up.
My property checks in get_device_property() result in the following exception:


Tango exception
Severity = ERROR 
Error reason = API_MemoryAllocation
Desc : Can't allocate memory in server while building command(s) or device(s) for class number 1
Origin : DServer::init_device

Received a CORBA_Exception
Exiting

I don’t understand the error here as I already allocate memory in the device ctor with new and nobody complained so far.