carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/reference/api/com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.5.0_15) on Tue Jan 06 17:31:53 CST 2009 -->
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<TITLE>
IModelProvider (Carbide.c++ SDK API Reference)
</TITLE>
<META NAME="keywords" CONTENT="com.nokia.carbide.cpp.epoc.engine.model.IModelProvider interface">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="IModelProvider (Carbide.c++ SDK API Reference)";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/IModelProvider.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<b>Carbide.c++</b></EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelLoadResults.html" title="interface in com.nokia.carbide.cpp.epoc.engine.model"><B>PREV CLASS</B></A>
<A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IOwnedModel.html" title="interface in com.nokia.carbide.cpp.epoc.engine.model"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../../../index.html?com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html" target="_top"><B>FRAMES</B></A>
<A HREF="IModelProvider.html" target="_top"><B>NO FRAMES</B></A>
<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
com.nokia.carbide.cpp.epoc.engine.model</FONT>
<BR>
Interface IModelProvider<Model extends <A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IOwnedModel.html" title="interface in com.nokia.carbide.cpp.epoc.engine.model">IOwnedModel</A>,SharedModel extends <A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModel.html" title="interface in com.nokia.carbide.cpp.epoc.engine.model">IModel</A>></H2>
<HR>
<DL>
<DT><PRE>public interface <B>IModelProvider<Model extends <A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IOwnedModel.html" title="interface in com.nokia.carbide.cpp.epoc.engine.model">IOwnedModel</A>,SharedModel extends <A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModel.html" title="interface in com.nokia.carbide.cpp.epoc.engine.model">IModel</A>></B></DL>
</PRE>
<P>
Interface managing shared access to models.
<p>
The provider gives access to the factory, for creation of private Model
instances, and provides shared instances through #findOrCreateModel(). The
model provider is responsible for the real contents of the files provided to
it through the #createModel(IPath) call, thus clients must use the provider
for safe access to the file. Further, the provider exposes only the base
interface IModel to limit inadvertent changes to shared models.
<p>
The domain of files managed is not specified by this interface –- a model
provider may work entirely on memory buffers. But if an implementations of
the model provider manage resources in the workspace, it is responsible for
synchronizing the models with the workspace; e.g. persisting changes to
IDocuments to the workspace and listening for changes to such resources
outside its own APIs.
<P>
<P>
<HR>
<P>
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> <A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html" title="type parameter in IModelProvider">Model</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html#createModel(IPath)">createModel</A></B>(IPath workspacePath)</CODE>
<BR>
Create a <b>new</b> model with an <b>empty</b> document, which is slated to live
at the given workspace path.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> <A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html" title="type parameter in IModelProvider">SharedModel</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html#findSharedModel(IPath)">findSharedModel</A></B>(IPath workspacePath)</CODE>
<BR>
Find a registered Model instance for the given path.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> <A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html" title="type parameter in IModelProvider">SharedModel</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html#getSharedModel(IPath)">getSharedModel</A></B>(IPath workspacePath)</CODE>
<BR>
Load a model for shared use.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html#load(Model)">load</A></B>(<A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html" title="type parameter in IModelProvider">Model</A> model)</CODE>
<BR>
Load the document of a model from persistent storage.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html#registerModel(Model)">registerModel</A></B>(<A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html" title="type parameter in IModelProvider">Model</A> model)</CODE>
<BR>
Make a model visible to clients of the provider and manage its contents.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html#releaseSharedModel(SharedModel)">releaseSharedModel</A></B>(<A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html" title="type parameter in IModelProvider">SharedModel</A> model)</CODE>
<BR>
Indicate that the client is no longer using the model, which allows it to
be eventually cleaned up.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html#save(Model)">save</A></B>(<A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html" title="type parameter in IModelProvider">Model</A> model)</CODE>
<BR>
<B>Deprecated.</B> <I>since 1.4 (Carbide 2.0), this variant is unsafe, since the model
is no longer locked during a save, so the document map from a model
might be changing.</I></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html#save(Model, java.util.Map)">save</A></B>(<A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html" title="type parameter in IModelProvider">Model</A> model,
java.util.Map<IPath,IDocument> documentMap)</CODE>
<BR>
Save the contents of a model's document(s) to persistent storage.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html#unregisterModel(Model)">unregisterModel</A></B>(<A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html" title="type parameter in IModelProvider">Model</A> model)</CODE>
<BR>
Make a model invisible to clients of the provider and stop managing its
contents.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html#updateModelDocumentMappings(Model)">updateModelDocumentMappings</A></B>(<A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html" title="type parameter in IModelProvider">Model</A> model)</CODE>
<BR>
Update tracked files using the map of IPath -> IDocument mappings for the model.</TD>
</TR>
</TABLE>
<P>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="createModel(IPath)"><!-- --></A><H3>
createModel</H3>
<PRE>
<A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html" title="type parameter in IModelProvider">Model</A> <B>createModel</B>(IPath workspacePath)</PRE>
<DL>
<DD>Create a <b>new</b> model with an <b>empty</b> document, which is slated to live
at the given workspace path. (See <A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html#getSharedModel(IPath)"><CODE>getSharedModel(IPath)</CODE></A>
for the normal case of loading a model from an existing file.)
<p>
The returned model is not registered and its document is not tracked
until <CODE>#registerModel(IOwnedModel))</CODE> is called.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>workspacePath</CODE> - workspace-relative path.
<DT><B>Returns:</B><DD>model (never null)</DL>
</DD>
</DL>
<HR>
<A NAME="load(com.nokia.carbide.cpp.epoc.engine.model.IOwnedModel)"><!-- --></A><A NAME="load(Model)"><!-- --></A><H3>
load</H3>
<PRE>
void <B>load</B>(<A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html" title="type parameter in IModelProvider">Model</A> model)
throws CoreException</PRE>
<DL>
<DD>Load the document of a model from persistent storage. Only allowed on owned models.
This either updates the existing document or replaces a null document
with a new one.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>model</CODE> -
<DT><B>Throws:</B>
<DD><CODE>CoreException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="save(com.nokia.carbide.cpp.epoc.engine.model.IOwnedModel)"><!-- --></A><A NAME="save(Model)"><!-- --></A><H3>
save</H3>
<PRE>
void <B>save</B>(<A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html" title="type parameter in IModelProvider">Model</A> model)
throws CoreException</PRE>
<DL>
<DD><B>Deprecated.</B> <I>since 1.4 (Carbide 2.0), this variant is unsafe, since the model
is no longer locked during a save, so the document map from a model
might be changing.</I>
<P>
<DD>Save the contents of a model's document(s) to persistent storage.
Only allowed on owned models.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>model</CODE> -
<DT><B>Throws:</B>
<DD><CODE>CoreException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="save(com.nokia.carbide.cpp.epoc.engine.model.IOwnedModel,java.util.Map)"><!-- --></A><A NAME="save(Model, java.util.Map)"><!-- --></A><H3>
save</H3>
<PRE>
void <B>save</B>(<A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html" title="type parameter in IModelProvider">Model</A> model,
java.util.Map<IPath,IDocument> documentMap)
throws CoreException</PRE>
<DL>
<DD>Save the contents of a model's document(s) to persistent storage.
Only allowed on owned models.
<p>
This variant is called directly from a model when views commit themselves.
The model is no longer locked, but the provided document map is consistent
and may be persisted as a group. This change was made to avoid deadlocks
when a model save triggers a resource change event which also wants to reread
the model.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>model</CODE> - <DD><CODE>documentMap</CODE> - a copy of the documents generated by the last view commit
<DT><B>Throws:</B>
<DD><CODE>CoreException</CODE><DT><B>Since:</B></DT>
<DD>1.4 (Carbide 2.0)</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="registerModel(com.nokia.carbide.cpp.epoc.engine.model.IOwnedModel)"><!-- --></A><A NAME="registerModel(Model)"><!-- --></A><H3>
registerModel</H3>
<PRE>
void <B>registerModel</B>(<A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html" title="type parameter in IModelProvider">Model</A> model)
throws CoreException</PRE>
<DL>
<DD>Make a model visible to clients of the provider and manage its contents.
<p>
Once registered, the model's owned model is counted as a shared model
reference. The caller should <A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html#releaseSharedModel(SharedModel)"><CODE>release</CODE></A>
this model eventually.
<p>
If the model has a <code>null</code> IDocument, then it will be loaded
from storage. Otherwise, it will be persisted immediately from the document
contents. Then, the model will be parsed.
<p>
The registered model always has a document, though it may be empty if
the load failed.
<p>
Once registered, changes to the model's document are persisted to underlying storage,
and changes to the persisted storage cause reloads of the model.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>model</CODE> - a newly created model
<DT><B>Throws:</B>
<DD><CODE>java.lang.IllegalArgumentException</CODE> - if already registered
<DD><CODE>CoreException</CODE> - if problems registering model, loading (when existing), or saving contents</DL>
</DD>
</DL>
<HR>
<A NAME="unregisterModel(com.nokia.carbide.cpp.epoc.engine.model.IOwnedModel)"><!-- --></A><A NAME="unregisterModel(Model)"><!-- --></A><H3>
unregisterModel</H3>
<PRE>
void <B>unregisterModel</B>(<A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html" title="type parameter in IModelProvider">Model</A> model)</PRE>
<DL>
<DD>Make a model invisible to clients of the provider and stop managing its
contents. Any pending changes in the view, if committed, will not be
automatically persisted, and changes to the persisted storage are
no longer tracked.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>model</CODE> - a registered model
<DT><B>Throws:</B>
<DD><CODE>java.lang.IllegalArgumentException</CODE> - if not registered</DL>
</DD>
</DL>
<HR>
<A NAME="findSharedModel(IPath)"><!-- --></A><H3>
findSharedModel</H3>
<PRE>
<A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html" title="type parameter in IModelProvider">SharedModel</A> <B>findSharedModel</B>(IPath workspacePath)</PRE>
<DL>
<DD>Find a registered Model instance for the given path.
<p>
The path is used to identify the model and is a key to its real contents
(usually the given workspace resource, as implied by the name). The
client has limited access to the model. The real work happens through
IView.
<p>
The model must be <A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html#releaseSharedModel(SharedModel)"><CODE>released</CODE></A> after use.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>workspacePath</CODE> -
<DT><B>Returns:</B><DD>existing model or null</DL>
</DD>
</DL>
<HR>
<A NAME="getSharedModel(IPath)"><!-- --></A><H3>
getSharedModel</H3>
<PRE>
<A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html" title="type parameter in IModelProvider">SharedModel</A> <B>getSharedModel</B>(IPath workspacePath)
throws CoreException</PRE>
<DL>
<DD>Load a model for shared use. This is the normal client use of the provider.
<p>
This finds a registered model instance. If none registered, it loads a new
model instance and registers it, then loads and parse its contents.
<p>
If the persisted resource does not exist, a <code>null</code> model is returned.
<p>
The client is responsible for <A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html#releaseSharedModel(SharedModel)"><CODE>releasing</CODE></A>
the model when done.
<p>
The client has limited (read-only) direct access to the model but may
create views and make changes through them.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>workspacePath</CODE> -
<DT><B>Returns:</B><DD>model or null if no such path registered
<DT><B>Throws:</B>
<DD><CODE>org.eclipse.core.runtime.CoreException</CODE> - if model cannot be created, e.g. due to a problem loading it
when it otherwise appears to exist
<DD><CODE>CoreException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="releaseSharedModel(com.nokia.carbide.cpp.epoc.engine.model.IModel)"><!-- --></A><A NAME="releaseSharedModel(SharedModel)"><!-- --></A><H3>
releaseSharedModel</H3>
<PRE>
void <B>releaseSharedModel</B>(<A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html" title="type parameter in IModelProvider">SharedModel</A> model)
throws java.lang.IllegalStateException</PRE>
<DL>
<DD>Indicate that the client is no longer using the model, which allows it to
be eventually cleaned up.
<p>
View created on the model must be disposed first.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>model</CODE> -
<DT><B>Throws:</B>
<DD><CODE>java.lang.IllegalStateException</CODE> - if all clients have released the model, but views are still
undisposed (this condition is delayed until all clients have
released the model, so the last client to release will be
blamed :( )</DL>
</DD>
</DL>
<HR>
<A NAME="updateModelDocumentMappings(com.nokia.carbide.cpp.epoc.engine.model.IOwnedModel)"><!-- --></A><A NAME="updateModelDocumentMappings(Model)"><!-- --></A><H3>
updateModelDocumentMappings</H3>
<PRE>
void <B>updateModelDocumentMappings</B>(<A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html" title="type parameter in IModelProvider">Model</A> model)</PRE>
<DL>
<DD>Update tracked files using the map of IPath -> IDocument mappings for the model.
These can change as different #includes are detected as a result
of different IViewFilters. The provider tracks these documents
so that changes to #included files can be saved to disk.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/IModelProvider.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
<b>Carbide.c++</b></EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IModelLoadResults.html" title="interface in com.nokia.carbide.cpp.epoc.engine.model"><B>PREV CLASS</B></A>
<A HREF="../../../../../../../com/nokia/carbide/cpp/epoc/engine/model/IOwnedModel.html" title="interface in com.nokia.carbide.cpp.epoc.engine.model"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../../../index.html?com/nokia/carbide/cpp/epoc/engine/model/IModelProvider.html" target="_top"><B>FRAMES</B></A>
<A HREF="IModelProvider.html" target="_top"><B>NO FRAMES</B></A>
<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
<div id="footer">Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. <br>License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a></div>
</BODY>
</HTML>