/** * Provides an interface for working with objects which retrieve data using data stores. * * Copyright 1998-2013 Epic Games, Inc. All Rights Reserved. */ interface UIDataStoreSubscriber DependsOn(UIRoot) native(UIPrivate); /** * Sets the data store binding for this object to the text specified. * * @param MarkupText a markup string which resolves to data exposed by a data store. The expected format is: * * @param BindingIndex optional parameter for indicating which data store binding is being requested for those * objects which have multiple data store bindings. How this parameter is used is up to the * class which implements this interface, but typically the "primary" data store will be index 0. */ native function SetDataStoreBinding( string MarkupText, optional int BindingIndex=INDEX_NONE ); /** * Retrieves the markup string corresponding to the data store that this object is bound to. * * @param BindingIndex optional parameter for indicating which data store binding is being requested for those * objects which have multiple data store bindings. How this parameter is used is up to the * class which implements this interface, but typically the "primary" data store will be index 0. * * @return a datastore markup string which resolves to the datastore field that this object is bound to, in the format: * */ native function string GetDataStoreBinding( optional int BindingIndex=INDEX_NONE ) const; /** * Resolves this subscriber's data store binding and updates the subscriber with the current value from the data store. * * @param BindingIndex optional parameter for indicating which data store binding is being requested for those * objects which have multiple data store bindings. How this parameter is used is up to the * class which implements this interface, but typically the "primary" data store will be index 0. * * @return TRUE if this subscriber successfully resolved and applied the updated value. */ native function bool RefreshSubscriberValue( optional int BindingIndex=INDEX_NONE ); /** * Handler for the UIDataStore.OnDataStoreValueUpdated delegate. Used by data stores to indicate that some data provided by the data * has changed. Subscribers should use this function to refresh any data store values being displayed with the updated value. * notify subscribers when they should refresh their values from this data store. * * @param SourceDataStore the data store that generated the refresh notification; useful for subscribers with multiple data store * bindings, to tell which data store sent the notification. * @param bValuesInvalidated TRUE if the data values were completely invalidated; suggest a full refresh rather than an update (i.e. in lists) * @param PropertyTag the tag associated with the data field that was updated; Subscribers can use this tag to determine whether * there is any need to refresh their data values. * @param SourceProvider for data stores which contain nested providers, the provider that contains the data which changed. * @param ArrayIndex for collection fields, indicates which element was changed. value of INDEX_NONE indicates not an array * or that the entire array was updated. */ native function NotifyDataStoreValueUpdated( UIDataStore SourceDataStore, bool bValuesInvalidated, name PropertyTag, UIDataProvider SourceProvider, int ArrayIndex ); /** * Retrieves the list of data stores bound by this subscriber. * * @param out_BoundDataStores receives the array of data stores that subscriber is bound to. */ native function GetBoundDataStores( out array out_BoundDataStores ); /** * Notifies this subscriber to unbind itself from all bound data stores */ native function ClearBoundDataStores(); DefaultProperties { }