Class: TInternalAttributeGroup

Declaration: AttributeGroup.h

Taxonomy Categories:

Member Functions:


Interface Category:

API.

Inherits From:

TSimpleAttributeGroup, MReferenceCounted

Inherited By:

TInternalInheritableGroup

Purpose:

A descendant of TSimpleAttributeGroup, this class implements change notification to a collection of objects of class TAttributeGroupHandle (or one of the classes derived from TAttributeGroupHandle). An object of this class is automatically allocated in the default constructor of TAttributeGroupHandle. In the other constructors of TAttributeGroupHandle, existing TInternalAttributeGroups are given additional references.

Instantiation:

Always allocate on the heap.

Deriving Classes:

This is a concrete class for implementing basic attribute group behavior. The principal derived class is TInternalInheritableGroup which implements a dynamic hierarchy of attribute groups.

Concurrency:

Not multithread safe.

Resource Use:

This class is reference counted, and will be deleted automatically when its reference count goes to zero. Objects of this type should only be allocated by a TAttributeGroupHandle or a class deriving from TAttributeGroupHandle.

Member Function: TInternalAttributeGroup::TInternalAttributeGroup

  1. TInternalAttributeGroup ()
  2. TInternalAttributeGroup (const TInternalAttributeGroup & copyFrom)

Interface Category:

API.

Purpose:

  1. Default constructor.
  2. Copy constructor.

Calling Context:

Objects of this type should only be allocated by a TAttributeGroupHandle or a class deriving from TAttributeGroupHandle.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TInternalAttributeGroup::~TInternalAttributeGroup

virtual ~ TInternalAttributeGroup ()

Interface Category:

API.

Purpose:

Destructor.

Calling Context:

This destructor should not be called by any other classes or frameworks. This class is reference counted, and will be deleted automatically when its reference count goes to zero.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TInternalAttributeGroup::Unreachable

virtual void Unreachable ()

Interface Category:

API.

Purpose:

Deletes all of the attributes in this attribute group and then deletes the group itself.

Calling Context:

Called directly to delete all of the attributes in an attribute group and then delete the group itself.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TInternalAttributeGroup::NotifyChanged

virtual void NotifyChanged ()

Interface Category:

API.

Purpose:

When the changes pending flag is false, this member function notifies all dependent attribute groups that this group has changed.

Calling Context:

Called when notification is turned on and this attribute group has been changed (something added or removed).

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TInternalAttributeGroup::BeginChanges

virtual void BeginChanges ()

Interface Category:

API.

Purpose:

There is a changes pending flag which is used to prevent notification when a batch of changes is to be made to an attribute group. This member function sets this flag to true to indicate that a batch of changes is about to be made, and that change notification should be postponed until after the changes has been made.

Calling Context:

Call to prevent notification on each change in a batch of changes to an attribute group.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TInternalAttributeGroup::EndChanges

virtual void EndChanges ()

Interface Category:

API.

Purpose:

Calls NotifyChanged to propagate change notification, and resets the changes pending flag to false so notification will no longer be postponed.

Calling Context:

Call this member function when you have finished doing a batch of changes to an attribute group. This member function calls the NotifyChanged member function so that all dependent attribute groups will be notified that the group has changed.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TInternalAttributeGroup::ChangesPending

virtual bool ChangesPending ()

Interface Category:

API.

Purpose:

Returns the value of the flag that is used to indicate if notification is currently postponed.

Calling Context:

Called directly to determine if notification is currently postponed on the attribute group.

Parameters:

Return Value:

Returns true if notification is currently postponed for the attribute group. Returns false otherwise.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TInternalAttributeGroup::SetChangesPending

virtual void SetChangesPending (bool pending)

Interface Category:

API.

Purpose:

Sets the value of the flag that is used to indicate if notification is currently postponed. Setting the flag to true indicates that notification is to be postponed, and setting the flag to false indicates that notification is no longer postponed.

Calling Context:

Called directly to change the value of the flag that indicates if change notification is currently postponed for an attribute group.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TInternalAttributeGroup::operator=

TInternalAttributeGroup & operator =(const TInternalAttributeGroup & group)

Interface Category:

API.

Purpose:

Assignment operator.

Calling Context:

Called when an object is assigned to another compatible object.

Parameters:

Return Value:

A non-const reference to the left-hand side object.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.
Click the icon to mail questions or corrections about this material to Taligent personnel.
Copyright©1995 Taligent,Inc. All rights reserved.