# IChangeManager Struct Reference
[Shell Interfaces]

Inheritance diagram for IChangeManager:

List of all members.

## Public Member Functions
virtual void MCCOMAPI | CreateChannel (IChangeChannel **outChannel, int32 channelID=kAnonymousChannel)=0
virtual void MCCOMAPI | GetChannelByID (IChangeChannel **outChannel, int32 channelID)=0
virtual void MCCOMAPI | BeginChange ()=0
virtual void MCCOMAPI | EndChange ()=0
virtual void MCCOMAPI | PostChange (int32 channelID, IDType changeKind, IMCUnknown *changedData)=0
virtual void MCCOMAPI | PostChange (IChangeChannel *channel, IDType changeKind, IMCUnknown *changedData)=0
virtual void MCCOMAPI | DiscardChangesOnChannel (IChangeChannel *channel)=0
virtual void MCCOMAPI | DiscardChangesOnAllChannels ()=0
virtual void MCCOMAPI | ProcessQueuedChanges ()=0

## Detailed Description

The change manager manages the list of the change channels (see IChangeChannel).

## Member Function Documentation

virtual void MCCOMAPI IChangeManager::BeginChange | ( |  | ) | `[pure virtual]`

Called at the beginning of a change. The changes are queued at a different level until EndChange is posted.

virtual void MCCOMAPI IChangeManager::CreateChannel | ( | IChangeChannel ** | outChannel,
|  | int32 | channelID = `kAnonymousChannel` |
| ) |  |  | `[pure virtual]`

Creates a new channel with the ID channelID. If a channel already exists with the same ID, the function returns that channel and a new channel is not created (exception: any number of anonymous channels can be created and CreateChannel(kAnonymousChannel) will return a new channel every time).

Parameters:

  | outChannel | The new channel
  | channelID | The identifier of the channel.

virtual void MCCOMAPI IChangeManager::DiscardChangesOnAllChannels | ( |  | ) | `[pure virtual]`

Discard all the changed posted on a channel.

virtual void MCCOMAPI IChangeManager::DiscardChangesOnChannel | ( | IChangeChannel * | channel | ) | `[pure virtual]`

Discard all the changes posted on a channel.

Parameters:

  | channel | The change channel.

virtual void MCCOMAPI IChangeManager::EndChange | ( |  | ) | `[pure virtual]`

Called at the end of a change. (see BeginChange())

virtual void MCCOMAPI IChangeManager::GetChannelByID | ( | IChangeChannel ** | outChannel,
|  | int32 | channelID |
| ) |  |  | `[pure virtual]`

Finds the channel with the ID channelID. Anonymous channels can not be found in this way.

Parameters:

  | outChannel | A pointer to the channel.
  | channelID | The ID of the channel

virtual void MCCOMAPI IChangeManager::PostChange | ( | IChangeChannel * | channel,
|  | IDType | changeKind,
|  | IMCUnknown * | changedData |
| ) |  |  | `[pure virtual]`

Post a change

Parameters:

  | channel | A pointer to the change channel
  | changeKind | The type of change.
  | changedData | The data associated with this change.

virtual void MCCOMAPI IChangeManager::PostChange | ( | int32 | channelID,
|  | IDType | changeKind,
|  | IMCUnknown * | changedData |
| ) |  |  | `[pure virtual]`

Post a change

Parameters:

  | channelID | The ID of the change channel
  | changeKind | The type of change.
  | changedData | The data associated with this change.

virtual void MCCOMAPI IChangeManager::ProcessQueuedChanges | ( |  | ) | `[pure virtual]`

Process all the changes that were queued.

The documentation for this struct was generated from the following file:

- IChangeManagement.h