DCAtomicField Class Reference

A single atomic field of a Distributed Class, as read from a .dc file. This defines an interface to the Distributed Class, and is always implemented as a remote procedure method. More...

Inheritance diagram for DCAtomicField:
DCField DCPackerInterface DCKeywordList

Public Member Functions

DCParameter getElement (int n)
 Returns the parameter object describing the nth element. More...
 
str getElementDefault (int n)
 Returns the pre-formatted default value associated with the nth element of the field. This is only valid if has_element_default() returns true, in which case this string represents the bytes that should be assigned to the field as a default value. More...
 
int getElementDivisor (int n)
 Returns the divisor associated with the nth element of the field. This implements an implicit fixed-point system; floating-point values are to be multiplied by this value before encoding into a packet, and divided by this number after decoding. More...
 
str getElementName (int n)
 Returns the name of the nth element of the field. This name is strictly for documentary purposes; it does not generally affect operation. If a name is not specified, this will be the empty string. More...
 
DCSubatomicType getElementType (int n)
 Returns the numeric type of the nth element of the field. This method is deprecated; use get_element() instead. More...
 
int getNumElements ()
 Returns the number of elements (parameters) of the atomic field. More...
 
bool hasElementDefault (int n)
 Returns true if the nth element of the field has a default value specified, false otherwise. More...
 
- Public Member Functions inherited from DCField
Datagram aiFormatUpdate (DOIDTYPE do_id, CHANNELTYPE to_id, CHANNELTYPE from_id, object args)
 Generates a datagram containing the message necessary to send an update for the indicated distributed object from the AI. More...
 
Datagram aiFormatUpdateMsgType (DOIDTYPE do_id, CHANNELTYPE to_id, CHANNELTYPE from_id, int msg_type, object args)
 Generates a datagram containing the message necessary to send an update, with the msg type, for the indicated distributed object from the AI. More...
 
DCAtomicField asAtomicField ()
 Returns the same field pointer converted to an atomic field pointer, if this is in fact an atomic field; otherwise, returns NULL. More...
 
const DCAtomicField asAtomicField ()
 Returns the same field pointer converted to an atomic field pointer, if this is in fact an atomic field; otherwise, returns NULL. More...
 
DCField asField ()
 
const DCField asField ()
 
DCMolecularField asMolecularField ()
 Returns the same field pointer converted to a molecular field pointer, if this is in fact a molecular field; otherwise, returns NULL. More...
 
const DCMolecularField asMolecularField ()
 Returns the same field pointer converted to a molecular field pointer, if this is in fact a molecular field; otherwise, returns NULL. More...
 
DCParameter asParameter ()
 
const DCParameter asParameter ()
 
Datagram clientFormatUpdate (DOIDTYPE do_id, object args)
 Generates a datagram containing the message necessary to send an update for the indicated distributed object from the client. More...
 
str formatData (str packed_data, bool show_field_names)
 Given a blob that represents the packed data for this field, returns a string formatting it for human consumption. Returns empty string if there is an error. More...
 
DCClass getClass ()
 Returns the DCClass pointer for the class that contains this field. More...
 
str getDefaultValue ()
 Returns the default value for this field. If a default value has been explicitly set (e.g. has_default_value() returns true), returns that value; otherwise, returns an implicit default for the field. More...
 
int getNumber ()
 Returns a unique index number associated with this field. This is defined implicitly when the .dc file(s) are read. More...
 
bool hasDefaultValue ()
 Returns true if a default value has been explicitly established for this field, false otherwise. More...
 
bool isAirecv ()
 Returns true if the "airecv" flag is set for this field, false otherwise. More...
 
bool isBogusField ()
 Returns true if the field has been flagged as a bogus field. This is set for fields that are generated by the parser as placeholder for missing fields, as when reading a partial file; it should not occur in a normal valid dc file. More...
 
bool isBroadcast ()
 Returns true if the "broadcast" flag is set for this field, false otherwise. More...
 
bool isClrecv ()
 Returns true if the "clrecv" flag is set for this field, false otherwise. More...
 
bool isClsend ()
 Returns true if the "clsend" flag is set for this field, false otherwise. More...
 
bool isDb ()
 Returns true if the "db" flag is set for this field, false otherwise. More...
 
bool isOwnrecv ()
 Returns true if the "ownrecv" flag is set for this field, false otherwise. More...
 
bool isOwnsend ()
 Returns true if the "ownsend" flag is set for this field, false otherwise. More...
 
bool isRam ()
 Returns true if the "ram" flag is set for this field, false otherwise. More...
 
bool isRequired ()
 Returns true if the "required" flag is set for this field, false otherwise. More...
 
 output (Ostream out)
 Write a string representation of this instance to <out>. More...
 
bool packArgs (DCPacker packer, object sequence)
 Packs the Python arguments from the indicated tuple into the packer. Returns true on success, false on failure. More...
 
str parseString (str formatted_string)
 Given a human-formatted string (for instance, as returned by format_data(), above) that represents the value of this field, parse the string and return the corresponding packed data. Returns empty string if there is an error. More...
 
 receiveUpdate (DCPacker packer, object distobj)
 Extracts the update message out of the datagram and applies it to the indicated object by calling the appropriate method. More...
 
object unpackArgs (DCPacker packer)
 Unpacks the values from the packer, beginning at the current point in the unpack_buffer, into a Python tuple and returns the tuple. More...
 
bool validateRanges (str packed_data)
 Verifies that all of the packed values in the field data are within the specified ranges and that there are no extra bytes on the end of the record. Returns true if all fields are valid, false otherwise. More...
 
 write (Ostream out, int indent_level)
 Write a string representation of this instance to <out>. More...
 
- Public Member Functions inherited from DCPackerInterface
DCClassParameter asClassParameter ()
 
const DCClassParameter asClassParameter ()
 
DCField asField ()
 
const DCField asField ()
 
DCSwitchParameter asSwitchParameter ()
 
const DCSwitchParameter asSwitchParameter ()
 
bool checkMatch (const DCPackerInterface other)
 Returns true if the other interface is bitwise the same as this one–that is, a uint32 only matches a uint32, etc. Names of components, and range limits, are not compared. More...
 
bool checkMatch (str description, DCFile dcfile)
 Returns true if this interface is bitwise the same as the interface described with the indicated formatted string, e.g. "(uint8, uint8, int16)", or false otherwise. More...
 
int findSeekIndex (str name)
 Returns the index number to be passed to a future call to DCPacker::seek() to seek directly to the named field without having to look up the field name in a table later, or -1 if the named field cannot be found. More...
 
str getName ()
 Returns the name of this field, or empty string if the field is unnamed. More...
 
- Public Member Functions inherited from DCKeywordList
bool compareKeywords (const DCKeywordList other)
 Returns true if this list has the same keywords as the other list, false if some keywords differ. Order is not considered important. More...
 
const DCKeyword getKeyword (int n)
 Returns the nth keyword in the list. More...
 
const DCKeyword getKeywordByName (str name)
 Returns the keyword in the list with the indicated name, or NULL if there is no keyword in the list with that name. More...
 
int getNumKeywords ()
 Returns the number of keywords in the list. More...
 
bool hasKeyword (const DCKeyword keyword)
 Returns true if this list includes the indicated keyword, false otherwise. More...
 
bool hasKeyword (str name)
 Returns true if this list includes the indicated keyword, false otherwise. More...
 

Detailed Description

A single atomic field of a Distributed Class, as read from a .dc file. This defines an interface to the Distributed Class, and is always implemented as a remote procedure method.

Member Function Documentation

DCParameter getElement ( int  n)

Returns the parameter object describing the nth element.

str getElementDefault ( int  n)

Returns the pre-formatted default value associated with the nth element of the field. This is only valid if has_element_default() returns true, in which case this string represents the bytes that should be assigned to the field as a default value.

If the element is an array-type element, the returned value will include the two-byte length preceding the array data.

This is deprecated; use get_element() instead.

int getElementDivisor ( int  n)

Returns the divisor associated with the nth element of the field. This implements an implicit fixed-point system; floating-point values are to be multiplied by this value before encoding into a packet, and divided by this number after decoding.

This method is deprecated; use get_element()->get_divisor() instead.

str getElementName ( int  n)

Returns the name of the nth element of the field. This name is strictly for documentary purposes; it does not generally affect operation. If a name is not specified, this will be the empty string.

This method is deprecated; use get_element()->get_name() instead.

DCSubatomicType getElementType ( int  n)

Returns the numeric type of the nth element of the field. This method is deprecated; use get_element() instead.

int getNumElements ( )

Returns the number of elements (parameters) of the atomic field.

bool hasElementDefault ( int  n)

Returns true if the nth element of the field has a default value specified, false otherwise.

This is deprecated; use get_element() instead.