carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/reference/api/com/nokia/carbide/cdt/builder/ImageMakefileViewPathHelper.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:52 CST 2009 -->
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<TITLE>
ImageMakefileViewPathHelper (Carbide.c++ SDK API Reference)
</TITLE>
<META NAME="keywords" CONTENT="com.nokia.carbide.cdt.builder.ImageMakefileViewPathHelper class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="ImageMakefileViewPathHelper (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/ImageMakefileViewPathHelper.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/cdt/builder/ICarbideBuildManager.html" title="interface in com.nokia.carbide.cdt.builder"><B>PREV CLASS</B></A>
<A HREF="../../../../../com/nokia/carbide/cdt/builder/InvalidDriveInMMPPathException.html" title="class in com.nokia.carbide.cdt.builder"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?com/nokia/carbide/cdt/builder/ImageMakefileViewPathHelper.html" target="_top"><B>FRAMES</B></A>
<A HREF="ImageMakefileViewPathHelper.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 | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <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.cdt.builder</FONT>
<BR>
Class ImageMakefileViewPathHelper</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>com.nokia.carbide.cdt.builder.ImageMakefileViewPathHelper</B>
</PRE>
<HR>
<DL>
<DT><PRE>public class <B>ImageMakefileViewPathHelper</B><DT>extends java.lang.Object</DL>
</PRE>
<P>
Helper to resolve paths used in image makefiles.
<p>
mifconv has some implicit search paths, as evidenced by this
standard comment:
<pre>
# NOTE 2: Usually, source paths should not be included in the bitmap
# definitions. MifConv searches for the icons in all icon directories in a
# predefined order, which is currently \s60\icons, \s60\bitmaps2.
# The directory \s60\icons is included in the search only if the feature flag
# __SCALABLE_ICONS is defined.
</pre>
(We ignore the distinction about __SCALABLE_ICONS and always search this directory.)
<p>
This helper class is needed because the to-be-searched files do not have source paths
in the makefile, but are resolved in the view into project-relative paths anyway.
We need to un-projectize such paths to see if their files are in the standard directories or not
and do the reverse when converting back to the view.
<P>
<P>
<HR>
<P>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_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>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../com/nokia/carbide/cdt/builder/ImageMakefileViewPathHelper.html#ImageMakefileViewPathHelper(com.nokia.carbide.cpp.epoc.engine.model.makefile.image.IImageMakefileData, com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext[])">ImageMakefileViewPathHelper</A></B>(<A HREF="../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/image/IImageMakefileData.html" title="interface in com.nokia.carbide.cpp.epoc.engine.model.makefile.image">IImageMakefileData</A> data,
<A HREF="../../../../../com/nokia/carbide/cpp/sdk/core/ISymbianBuildContext.html" title="interface in com.nokia.carbide.cpp.sdk.core">ISymbianBuildContext</A>[] configurations)</CODE>
<BR>
Construct an instance using the given image makefile data, to provide the
project root, and the build configurations of interest.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../com/nokia/carbide/cdt/builder/ImageMakefileViewPathHelper.html#ImageMakefileViewPathHelper(com.nokia.carbide.cpp.epoc.engine.model.makefile.image.IImageMakefileView, com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext[])">ImageMakefileViewPathHelper</A></B>(<A HREF="../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/image/IImageMakefileView.html" title="interface in com.nokia.carbide.cpp.epoc.engine.model.makefile.image">IImageMakefileView</A> view,
<A HREF="../../../../../com/nokia/carbide/cpp/sdk/core/ISymbianBuildContext.html" title="interface in com.nokia.carbide.cpp.sdk.core">ISymbianBuildContext</A>[] configurations)</CODE>
<BR>
Construct an instance using the given image makefile view, to provide the
project root, and the build configurations of interest.</TD>
</TR>
</TABLE>
<!-- ========== 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> IPath</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../com/nokia/carbide/cdt/builder/ImageMakefileViewPathHelper.html#findCandidateImagePath(IPath)">findCandidateImagePath</A></B>(IPath path)</CODE>
<BR>
Look up a candidate for the image referenced by the path from an
IImageSource.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> IPath</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../com/nokia/carbide/cdt/builder/ImageMakefileViewPathHelper.html#findCandidateMaskPath(com.nokia.carbide.cpp.epoc.engine.image.IImageSource)">findCandidateMaskPath</A></B>(<A HREF="../../../../../com/nokia/carbide/cpp/epoc/engine/image/IImageSource.html" title="interface in com.nokia.carbide.cpp.epoc.engine.image">IImageSource</A> imageSource)</CODE>
<BR>
Look up a candidate for the mask referenced by the given
IImageSource.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> IPath</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../com/nokia/carbide/cdt/builder/ImageMakefileViewPathHelper.html#simplifyStandardImagePath(IPath)">simplifyStandardImagePath</A></B>(IPath path)</CODE>
<BR>
Convert a path that may reference an EPOCROOT-relative image file
into a view path.</TD>
</TR>
</TABLE>
<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
<P>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_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>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="ImageMakefileViewPathHelper(com.nokia.carbide.cpp.epoc.engine.model.makefile.image.IImageMakefileView, com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext[])"><!-- --></A><H3>
ImageMakefileViewPathHelper</H3>
<PRE>
public <B>ImageMakefileViewPathHelper</B>(<A HREF="../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/image/IImageMakefileView.html" title="interface in com.nokia.carbide.cpp.epoc.engine.model.makefile.image">IImageMakefileView</A> view,
<A HREF="../../../../../com/nokia/carbide/cpp/sdk/core/ISymbianBuildContext.html" title="interface in com.nokia.carbide.cpp.sdk.core">ISymbianBuildContext</A>[] configurations)</PRE>
<DL>
<DD>Construct an instance using the given image makefile view, to provide the
project root, and the build configurations of interest.
<p>
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>view</CODE> - the non-null image makefile view (does not take ownership)<DD><CODE>configurations</CODE> - the build configurations (may not be null)</DL>
</DL>
<HR>
<A NAME="ImageMakefileViewPathHelper(com.nokia.carbide.cpp.epoc.engine.model.makefile.image.IImageMakefileData, com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext[])"><!-- --></A><H3>
ImageMakefileViewPathHelper</H3>
<PRE>
public <B>ImageMakefileViewPathHelper</B>(<A HREF="../../../../../com/nokia/carbide/cpp/epoc/engine/model/makefile/image/IImageMakefileData.html" title="interface in com.nokia.carbide.cpp.epoc.engine.model.makefile.image">IImageMakefileData</A> data,
<A HREF="../../../../../com/nokia/carbide/cpp/sdk/core/ISymbianBuildContext.html" title="interface in com.nokia.carbide.cpp.sdk.core">ISymbianBuildContext</A>[] configurations)</PRE>
<DL>
<DD>Construct an instance using the given image makefile data, to provide the
project root, and the build configurations of interest.
<p>
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>view</CODE> - the non-null image makefile view (does not take ownership)<DD><CODE>configurations</CODE> - the build configurations (may not be null)</DL>
</DL>
<!-- ============ 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="findCandidateImagePath(IPath)"><!-- --></A><H3>
findCandidateImagePath</H3>
<PRE>
public IPath <B>findCandidateImagePath</B>(IPath path)</PRE>
<DL>
<DD>Look up a candidate for the image referenced by the path from an
IImageSource.<p>
This first tries to resolve a relative path to the
expected project-relative location, then searches the standard
locations. If nothing is found, the non-existing project-relative file is
returned. For absolute paths, the path itself
(existing or not) is returned.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>path</CODE> - relative or absolute path from a IImageSource
<DT><B>Returns:</B><DD>path for an existing or candidate file, either relative for project-relative
files or absolute for filesystem path</DL>
</DD>
</DL>
<HR>
<A NAME="findCandidateMaskPath(com.nokia.carbide.cpp.epoc.engine.image.IImageSource)"><!-- --></A><H3>
findCandidateMaskPath</H3>
<PRE>
public IPath <B>findCandidateMaskPath</B>(<A HREF="../../../../../com/nokia/carbide/cpp/epoc/engine/image/IImageSource.html" title="interface in com.nokia.carbide.cpp.epoc.engine.image">IImageSource</A> imageSource)</PRE>
<DL>
<DD>Look up a candidate for the mask referenced by the given
IImageSource. The source's maskpath may be non-null or null.
If null, we try to find anything that conceivably goes with
the image. If non-null, we look for this file, possibly changing
the extension. (Blame this on mifconv.)
<p>
The file search behavior otherwise follows <A HREF="../../../../../com/nokia/carbide/cdt/builder/ImageMakefileViewPathHelper.html#findCandidateImagePath(IPath)"><CODE>findCandidateImagePath(IPath)</CODE></A>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>path</CODE> - relative or absolute path from a IImageSource
<DT><B>Returns:</B><DD>path for an existing or candidate file, either relative for project-relative
files or absolute for filesystem path</DL>
</DD>
</DL>
<HR>
<A NAME="simplifyStandardImagePath(IPath)"><!-- --></A><H3>
simplifyStandardImagePath</H3>
<PRE>
public IPath <B>simplifyStandardImagePath</B>(IPath path)</PRE>
<DL>
<DD>Convert a path that may reference an EPOCROOT-relative image file
into a view path. Finally, convert the path to one suitable
for the view's IImageSource. This is the inverse of
#findCandidateImagePath().
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>path</CODE> - either a relative path, taken as project-relative,
or a full path, which is a filesystem full path
<DT><B>Returns:</B><DD>if path is absolute and resolves to
standard image lookup directory, a file relative to the Makefile; else,
the IImageSource-appropriate path.</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/ImageMakefileViewPathHelper.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/cdt/builder/ICarbideBuildManager.html" title="interface in com.nokia.carbide.cdt.builder"><B>PREV CLASS</B></A>
<A HREF="../../../../../com/nokia/carbide/cdt/builder/InvalidDriveInMMPPathException.html" title="class in com.nokia.carbide.cdt.builder"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?com/nokia/carbide/cdt/builder/ImageMakefileViewPathHelper.html" target="_top"><B>FRAMES</B></A>
<A HREF="ImageMakefileViewPathHelper.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 | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <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>