Kaydet (Commit) 4c6037df authored tarafından Ivo Hinkelmann's avatar Ivo Hinkelmann

CWS-TOOLING: integrate CWS bserver52

......@@ -160,45 +160,34 @@ ByteString SimpleConfig::GetNextLine()
ByteString SimpleConfig::GetCleanedNextLine( BOOL bReadComments )
/*****************************************************************************/
{
sal_Bool bStreamOk;
sal_Bool bReadNextLine = sal_True;
while (bReadNextLine)
{
bStreamOk = aFileStream.ReadLine ( aTmpStr );
if (!bStreamOk)
return ByteString();
aFileStream.ReadLine ( aTmpStr );
if ( aTmpStr.Search( "#" ) == 0 )
if (bReadComments )
return aTmpStr;
else
while ( aTmpStr.Search( "#" ) == 0 )
{
aFileStream.ReadLine ( aTmpStr );
}
ByteString sTab = "\t";
ByteString sDoubleTab = "\t\t";
ByteString sSpace = " ";
xub_StrLen nIndex = 0;
aTmpStr = aTmpStr.EraseLeadingChars();
aTmpStr = aTmpStr.EraseTrailingChars();
// while ( aTmpStr.SearchAndReplace(String(' '),String('\t') ) != (USHORT)-1 );
int nLength = aTmpStr.Len();
// USHORT nPos = 0;
ByteString aEraseString;
BOOL bFirstTab = TRUE;
for ( USHORT i = 0; i<= nLength; i++)
{
if ( aTmpStr.GetChar( i ) == 0x20 )
aTmpStr.SetChar( i, 0x09 );
aTmpStr.SearchAndReplaceAll(sSpace, sTab);
while ( (nIndex = aTmpStr.SearchAndReplace(sDoubleTab, sTab, nIndex )) != STRING_NOTFOUND );
aTmpStr = aTmpStr.EraseLeadingAndTrailingChars('\t'); // remove tabs
if ( aTmpStr.GetChar( i ) == 0x09 )
if ( aTmpStr.Search( "#" ) == 0 )
{
if ( bFirstTab )
bFirstTab = FALSE;
else
{
aTmpStr.SetChar( i, 0x20 );
}
if (bReadComments )
return aTmpStr;
}
else
bFirstTab = TRUE;
else if (aTmpStr != ByteString::EmptyString())
bReadNextLine = sal_False;
}
aTmpStr.EraseAllChars(' ');
return aTmpStr;
return aTmpStr;
}
......@@ -824,7 +813,8 @@ Prj::Prj() :
bVisited( FALSE ),
bIsAvailable( TRUE ),
pTempCommandDataList (0),
bTempCommandDataListPermanent (FALSE)
bTempCommandDataListPermanent (FALSE),
bError (FALSE)
/*****************************************************************************/
{
}
......@@ -841,7 +831,8 @@ Prj::Prj( ByteString aName ) :
bVisited( FALSE ),
bIsAvailable( TRUE ),
pTempCommandDataList (0),
bTempCommandDataListPermanent (FALSE)
bTempCommandDataListPermanent (FALSE),
bError (FALSE)
/*****************************************************************************/
{
}
......@@ -1146,6 +1137,7 @@ Prj& Prj::operator>> ( SvStream& rStream )
rStream << bFixedDependencies;
rStream << bSorted;
rStream << bIsAvailable;
rStream << bError;
if (pPrjDepInfoList)
{
......@@ -1178,6 +1170,7 @@ Prj& Prj::operator<< ( SvStream& rStream )
rStream >> bFixedDependencies;
rStream >> bSorted;
rStream >> bIsAvailable;
rStream >> bError;
BOOL bDepList;
rStream >> bDepList;
......@@ -1509,18 +1502,7 @@ void Star::Read( String &rFileName )
while( aFileList.Count()) {
String ssFileName = *aFileList.GetObject(( ULONG ) 0 );
ByteString sFileName_l(ssFileName, RTL_TEXTENCODING_ASCII_US);
StarFile *pFile = new StarFile( ssFileName );
if ( pFile->Exists()) {
// if (sFileName_l.Len() >= RTL_CONSTASCII_LENGTH(XML_EXT) && ssFileName.EqualsAscii(XML_EXT, sFileName_l.Len() - RTL_CONSTASCII_LENGTH(XML_EXT), RTL_CONSTASCII_LENGTH(XML_EXT)))
// {
// ReadXmlBuildList(sFileName_l);
// } else {
SimpleConfig aSolarConfig( ssFileName );
while (( aString = aSolarConfig.GetNext()) != "" )
InsertToken (( char * ) aString.GetBuffer());
// }
}
StarFile* pFile = ReadBuildlist (ssFileName);
aMutex.acquire();
ReplaceFileEntry (&aLoadedFilesList, pFile);
//aLoadedFilesList.Insert( pFile, LIST_APPEND );
......@@ -1575,19 +1557,9 @@ void Star::Read( SolarFileList *pSolarFiles )
ByteString aString;
String ssFileName = *pSolarFiles->GetObject(( ULONG ) 0 );
ByteString sFileName_l(ssFileName, RTL_TEXTENCODING_ASCII_US);
StarFile *pFile = new StarFile( ssFileName );
StarFile *pFile = ReadBuildlist ( ssFileName);
if ( pFile->Exists()) {
// if (sFileName_l.Len() >= RTL_CONSTASCII_LENGTH(XML_EXT) && ssFileName.EqualsAscii(XML_EXT, sFileName_l.Len() - RTL_CONSTASCII_LENGTH(XML_EXT), RTL_CONSTASCII_LENGTH(XML_EXT)))
// {
// ReadXmlBuildList(sFileName_l);
// } else {
SimpleConfig aSolarConfig( ssFileName );
while (( aString = aSolarConfig.GetNext()) != "" )
InsertToken (( char * ) aString.GetBuffer());
// }
DirEntry aEntry( pFile->GetName() );
DirEntry aEntryPrj = aEntry.GetPath().GetPath();
if (aEntryPrj.GetExtension() != String::CreateFromAscii( "" ))
......@@ -1721,207 +1693,259 @@ void Star::Expand_Impl()
}
/*****************************************************************************/
void Star::InsertToken ( char *yytext )
StarFile* Star::ReadBuildlist (const String& rFilename, BOOL bReadComments, BOOL bExtendAlias)
/*****************************************************************************/
{
ByteString sFileName_l(rFilename, RTL_TEXTENCODING_ASCII_US);
StarFile *pFile = new StarFile( rFilename );
if ( pFile->Exists()) {
SimpleConfig aSolarConfig( rFilename );
DirEntry aEntry(rFilename);
ByteString sProjectName (aEntry.GetPath().GetPath().GetName(), RTL_TEXTENCODING_ASCII_US);
Prj* pPrj = GetPrj (sProjectName); // 0, if Prj not found
if (pPrj)
{
Remove(pPrj); // Project exist, remove old Project and read again
DELETEZ (pPrj); // delete and set pPrj to 0
}
ByteString aString;
while (( aString = aSolarConfig.GetCleanedNextLine( bReadComments )) != ByteString::EmptyString() )
InsertTokenLine ( aString, &pPrj, sProjectName, bExtendAlias );
}
return pFile;
}
/*****************************************************************************/
void Star::InsertTokenLine ( const ByteString& rTokenLine, Prj** ppPrj, const ByteString& rProjectName, const sal_Bool bExtendAlias )
/*****************************************************************************/
{
static int i = 0;
static ByteString aDirName, aWhat, aWhatOS,
int i = 0;
ByteString aWhat, aWhatOS,
sClientRestriction, aLogFileName, aProjectName, aPrefix, aCommandPara;
static BOOL bPrjDep = FALSE;
static BOOL bHardDep = FALSE;
static BOOL bFixedDep = FALSE;
static int nCommandType, nOSType;
ByteString aDirName;
BOOL bPrjDep = FALSE;
BOOL bHardDep = FALSE;
BOOL bFixedDep = FALSE;
BOOL bNewProject = FALSE;
int nCommandType=0, nOSType=0;
Prj* pPrj = *ppPrj;
CommandData* pCmdData;
static SByteStringList *pStaticDepList;
Prj* pPrj;
SByteStringList *pDepList = NULL;
ByteString aCommentString;
ByteString sToken;
ByteString sStringBuffer = rTokenLine;
switch (i)
while (sStringBuffer != ByteString::EmptyString())
{
case 0:
aPrefix = yytext;
pStaticDepList = 0;
break;
case 1:
aDirName = yytext;
aProjectName = aDirName.GetToken ( 0, 0x5c);
break;
case 2:
if ( !strcmp( yytext, ":" ))
{
bPrjDep = TRUE;
bHardDep = FALSE;
bFixedDep = FALSE;
i = 9;
}
else if ( !strcmp( yytext, "::" ))
{
bPrjDep = TRUE;
bHardDep = TRUE;
bFixedDep = FALSE;
i = 9;
}
else if ( !strcmp( yytext, ":::" ))
{
bPrjDep = TRUE;
bHardDep = TRUE;
bFixedDep = TRUE;
i = 9;
}
else
{
bPrjDep = FALSE;
bHardDep = FALSE;
bFixedDep = FALSE;
ByteString sToken = sStringBuffer.GetToken(0,'\t');
sStringBuffer.Erase(0, sToken.Len()+1);
aWhat = yytext;
nCommandType = GetJobType(aWhat);
}
if (bPrjDep)
{
if ( HasProject( aProjectName ))
switch (i)
{
case 0:
if ( sToken.Search( "#" ) == 0 )
{
RemovePrj(GetPrj(aProjectName));
// Projekt exist. schon, entfernen, spter neue anlegen
i = -1;
aCommentString = sToken;
sStringBuffer = ByteString::EmptyString();
if ( Count() == 0 )
aDirName = "null_entry" ; //comments at begin of file
}
}
break;
case 3:
if ( !bPrjDep )
{
aWhat = yytext;
if ( aWhat == "-" )
else
{
aCommandPara = ByteString();
aPrefix = sToken;
pDepList = 0;
}
else
aCommandPara = aWhat;
}
break;
case 4:
if ( !bPrjDep )
{
aWhatOS = yytext;
if ( aWhatOS.GetTokenCount( ',' ) > 1 ) {
sClientRestriction = aWhatOS.Copy( aWhatOS.GetToken( 0, ',' ).Len() + 1 );
aWhatOS = aWhatOS.GetToken( 0, ',' );
break;
case 1:
aDirName = sToken;
aProjectName = aDirName.GetToken ( 0, 0x5c);
if (aProjectName != rProjectName)
sStringBuffer = ByteString::EmptyString(); // something is wrong, ignore line
break;
case 2:
if ( sToken.CompareTo(":") == COMPARE_EQUAL )
{
bPrjDep = TRUE;
bHardDep = FALSE;
bFixedDep = FALSE;
i = 9;
}
nOSType = GetOSType (aWhatOS);
}
break;
case 5:
if ( !bPrjDep )
{
aLogFileName = (ByteString(aProjectName).Append("_")).Append(yytext);
}
break;
default:
if ( !bPrjDep )
{
ByteString aItem = yytext;
if ( aItem == "NULL" )
else if ( sToken.CompareTo("::") == COMPARE_EQUAL )
{
// Liste zu Ende
i = -1;
bPrjDep = TRUE;
bHardDep = TRUE;
bFixedDep = FALSE;
i = 9;
}
else if ( sToken.CompareTo(":::") == COMPARE_EQUAL )
{
bPrjDep = TRUE;
bHardDep = TRUE;
bFixedDep = TRUE;
i = 9;
}
else
{
// ggfs. Dependency liste anlegen und ergaenzen
if ( !pStaticDepList )
pStaticDepList = new SByteStringList;
ByteString* pStr = new ByteString ((ByteString (aProjectName).Append("_")).Append(aItem));
pStaticDepList->PutString( pStr );
bPrjDep = FALSE;
bHardDep = FALSE;
bFixedDep = FALSE;
aWhat = sToken;
nCommandType = GetJobType(aWhat);
}
}
else
{
ByteString aItem = yytext;
if ( aItem == "NULL" )
if (bPrjDep)
{
// Liste zu Ende
i = -1;
bPrjDep= FALSE;
if (pPrj)
sStringBuffer = ByteString::EmptyString(); // definition more than once or not first line, ignore line
}
else
break;
case 3:
if ( !bPrjDep )
{
ByteString sMode;
BOOL bHasModes = FALSE;
if (aItem.Search(":") != STRING_NOTFOUND)
aWhat = sToken;
if ( aWhat == "-" )
{
sMode = aItem.GetToken ( 0, ':');
aItem = aItem.GetToken ( 1, ':');
bHasModes = TRUE;
aCommandPara = ByteString();
}
else
aCommandPara = aWhat;
}
break;
case 4:
if ( !bPrjDep )
{
aWhatOS = sToken;
if ( aWhatOS.GetTokenCount( ',' ) > 1 ) {
sClientRestriction = aWhatOS.Copy( aWhatOS.GetToken( 0, ',' ).Len() + 1 );
aWhatOS = aWhatOS.GetToken( 0, ',' );
}
nOSType = GetOSType (aWhatOS);
}
break;
case 5:
if ( !bPrjDep )
{
if (bExtendAlias)
aLogFileName = (ByteString(aProjectName).Append("_")).Append(sToken);
else
aLogFileName = sToken;
if ( HasProject( aProjectName ))
}
break;
default:
if ( !bPrjDep )
{
ByteString aItem = sToken;
if ( aItem == "NULL" )
{
pPrj = GetPrj( aProjectName );
// Projekt exist. schon, neue Eintraege anhaengen
// Liste zu Ende
i = -1;
}
else
{
// neues Project anlegen
pPrj = new Prj ( aProjectName );
pPrj->SetPreFix( aPrefix );
Insert(pPrj,LIST_APPEND);
// ggfs. Dependency liste anlegen und ergaenzen
if ( !pDepList )
pDepList = new SByteStringList;
ByteString* pStr;
if (bExtendAlias)
pStr = new ByteString ((ByteString (aProjectName).Append("_")).Append(aItem));
else
pStr = new ByteString (aItem);
pDepList->PutString( pStr );
}
}
else
{
ByteString aItem = sToken;
if ( aItem == "NULL" )
{
// Liste zu Ende
i = -1;
bPrjDep= FALSE;
}
if (bHasModes)
pPrj->AddDependencies( aItem, sMode );
else
pPrj->AddDependencies( aItem );
pPrj->HasHardDependencies( bHardDep );
pPrj->HasFixedDependencies( bFixedDep );
/*
if ( nStarMode == STAR_MODE_RECURSIVE_PARSE ) {
String sItem( aItem, RTL_TEXTENCODING_ASCII_US );
InsertSolarList( sItem );
{
ByteString sMode;
BOOL bHasModes = FALSE;
if (aItem.Search(":") != STRING_NOTFOUND)
{
sMode = aItem.GetToken ( 0, ':');
aItem = aItem.GetToken ( 1, ':');
bHasModes = TRUE;
}
if (!pPrj)
{
// neues Project anlegen
pPrj = new Prj ( aProjectName );
pPrj->SetPreFix( aPrefix );
bNewProject = TRUE;
}
if (bHasModes)
pPrj->AddDependencies( aItem, sMode );
else
pPrj->AddDependencies( aItem );
pPrj->HasHardDependencies( bHardDep );
pPrj->HasFixedDependencies( bFixedDep );
}
*/
}
}
break;
break;
}
if ( i == -1 )
break;
i++;
}
/* Wenn dieses Project noch nicht vertreten ist, in die Liste
der Solar-Projekte einfuegen */
if ( i == -1 )
{
if ( HasProject( aProjectName ))
{
pPrj = GetPrj( aProjectName );
// Projekt exist. schon, neue Eintraege anhaengen
}
else
if (!pPrj)
{
// neues Project anlegen
pPrj = new Prj ( aProjectName );
pPrj->SetPreFix( aPrefix );
Insert(pPrj,LIST_APPEND);
bNewProject = TRUE;
}
if (bNewProject)
Insert(pPrj,LIST_APPEND);
pCmdData = new CommandData;
pCmdData->SetPath( aDirName );
pCmdData->SetCommandType( nCommandType );
pCmdData->SetCommandPara( aCommandPara );
pCmdData->SetOSType( nOSType );
pCmdData->SetLogFile( aLogFileName );
pCmdData->SetComment( aCommentString );
pCmdData->SetClientRestriction( sClientRestriction );
if ( pStaticDepList )
pCmdData->SetDependencies( pStaticDepList );
if ( pDepList )
pCmdData->SetDependencies( pDepList );
pStaticDepList = 0;
pDepList = 0;
pPrj->Insert ( pCmdData, LIST_APPEND );
aDirName ="";
aWhat ="";
aWhatOS = "";
sClientRestriction = "";
aLogFileName = "";
nCommandType = 0;
nOSType = 0;
}
i++;
// und wer raeumt die depLst wieder ab ?
// CommandData macht das
// und wer raeumt die depLst wieder ab ?
// CommandData macht das
}
else
{
if (!pPrj)
{
// new project to set the error flag
pPrj = new Prj ( rProjectName );
pPrj->SetPreFix( aPrefix );
bNewProject = TRUE;
}
if (pPrj)
{
pPrj->SetError();
if (bNewProject)
Insert(pPrj,LIST_APPEND); // add project even if there is a buildlist error
}
if ( pDepList )
delete pDepList;
}
*ppPrj = pPrj;
}
/*****************************************************************************/
......@@ -2572,19 +2596,7 @@ USHORT StarWriter::Read( String aFileName, BOOL bReadComments, USHORT nMode )
while( aFileList.Count()) {
String ssFileName = *aFileList.GetObject(( ULONG ) 0 );
ByteString sFileName_l(ssFileName, RTL_TEXTENCODING_ASCII_US);
StarFile *pFile = new StarFile( ssFileName );
if ( pFile->Exists()) {
// if (sFileName_l.Len() >= RTL_CONSTASCII_LENGTH(XML_EXT) && ssFileName.EqualsAscii(XML_EXT, sFileName_l.Len() - RTL_CONSTASCII_LENGTH(XML_EXT), RTL_CONSTASCII_LENGTH(XML_EXT)))
// {
// ReadXmlBuildList(sFileName_l);
// } else {
SimpleConfig aSolarConfig( ssFileName );
while (( aString = aSolarConfig.GetCleanedNextLine( bReadComments )) != "" )
InsertTokenLine ( aString );
}
// }
StarFile* pFile = ReadBuildlist (ssFileName, bReadComments, FALSE);
aMutex.acquire();
aLoadedFilesList.Insert( pFile, LIST_APPEND );
aMutex.release();
......@@ -2608,21 +2620,7 @@ USHORT StarWriter::Read( SolarFileList *pSolarFiles, BOOL bReadComments )
while( pSolarFiles->Count()) {
ByteString aString;
String ssFileName = *pSolarFiles->GetObject(( ULONG ) 0 );
ByteString sFileName_l(ssFileName, RTL_TEXTENCODING_ASCII_US);
StarFile *pFile = new StarFile( ssFileName);
if ( pFile->Exists()) {
// if (sFileName_l.Len() >= RTL_CONSTASCII_LENGTH(XML_EXT) && ssFileName.EqualsAscii(XML_EXT, sFileName_l.Len() - RTL_CONSTASCII_LENGTH(XML_EXT), RTL_CONSTASCII_LENGTH(XML_EXT)))
// {
// ReadXmlBuildList(sFileName_l);
// }
// else
// {
SimpleConfig aSolarConfig( ssFileName );
while (( aString = aSolarConfig.GetCleanedNextLine( bReadComments )) != "" )
InsertTokenLine ( aString );
// }
}
StarFile* pFile = ReadBuildlist(ssFileName, bReadComments, FALSE);
aMutex.acquire();
aLoadedFilesList.Insert( pFile, LIST_APPEND );
aMutex.release();
......@@ -2803,217 +2801,12 @@ USHORT StarWriter::WriteMultiple( String rSourceRoot )
}
/*****************************************************************************/
void StarWriter::InsertTokenLine ( ByteString& rString )
void StarWriter::InsertTokenLine ( const ByteString& rTokenLine )
/*****************************************************************************/
{
int i = 0;
ByteString aWhat, aWhatOS,
sClientRestriction, aLogFileName, aProjectName, aPrefix, aCommandPara;
static ByteString aDirName;
BOOL bPrjDep = FALSE;
BOOL bHardDep = FALSE;
BOOL bFixedDep = FALSE;
int nCommandType=0, nOSType=0;
CommandData* pCmdData;
SByteStringList *pDepList2 = NULL;
Prj* pPrj;
ByteString aEmptyString;
ByteString aToken = rString.GetToken( 0, '\t' );
ByteString aCommentString;
const char* yytext = aToken.GetBuffer();
while ( !( aToken == aEmptyString ) )
{
switch (i)
{
case 0:
if ( rString.Search( "#" ) == 0 )
{
i = -1;
aCommentString = rString;
rString = aEmptyString;
if ( Count() == 0 )
aDirName = "null_entry" ; //comments at begin of file
break;
}
aPrefix = yytext;
pDepList2 = NULL;
break;
case 1:
aDirName = yytext;
break;
case 2:
if ( !strcmp( yytext, ":" ))
{
bPrjDep = TRUE;
bHardDep = FALSE;
bFixedDep = FALSE;
i = 9;
}
else if ( !strcmp( yytext, "::" ))
{
bPrjDep = TRUE;
bHardDep = TRUE;
bFixedDep = FALSE;
i = 9;
}
else if ( !strcmp( yytext, ":::" ))
{
bPrjDep = TRUE;
bHardDep = TRUE;
bFixedDep = TRUE;
i = 9;
}
else
{
bPrjDep = FALSE;
bHardDep = FALSE;
bFixedDep = FALSE;
aWhat = yytext;
nCommandType = GetJobType(aWhat);
}
break;
case 3:
if ( !bPrjDep )
{
aWhat = yytext;
if ( aWhat == "-" )
{
aCommandPara = ByteString();
}
else
aCommandPara = aWhat;
}
break;
case 4:
if ( !bPrjDep )
{
aWhatOS = yytext;
if ( aWhatOS.GetTokenCount( ',' ) > 1 ) {
sClientRestriction = aWhatOS.Copy( aWhatOS.GetToken( 0, ',' ).Len() + 1 );
aWhatOS = aWhatOS.GetToken( 0, ',' );
}
nOSType = GetOSType (aWhatOS);
}
break;
case 5:
if ( !bPrjDep )
{
aLogFileName = yytext;
}
break;
default:
if ( !bPrjDep )
{
ByteString aItem = yytext;
if ( aItem == "NULL" )
{
// Liste zu Ende
i = -1;
}
else
{
// ggfs. Dependency liste anlegen und ergaenzen
if ( !pDepList2 )
pDepList2 = new SByteStringList;
pDepList2->PutString( new ByteString( aItem ));
}
}
else
{
ByteString aItem = yytext;
if ( aItem == "NULL" )
{
// Liste zu Ende
i = -1;
bPrjDep= FALSE;
}
else
{
ByteString sMode;
BOOL bHasModes = FALSE;
if (aItem.Search(":") != STRING_NOTFOUND)
{
sMode = aItem.GetToken ( 0, ':');
aItem = aItem.GetToken ( 1, ':');
bHasModes = TRUE;
}
aProjectName = aDirName.GetToken ( 0, 0x5c);
if ( HasProject( aProjectName ))
{
pPrj = GetPrj( aProjectName );
// Projekt exist. schon, neue Eintraege anhaengen
}
else
{
// neues Project anlegen
pPrj = new Prj ( aProjectName );
pPrj->SetPreFix( aPrefix );
Insert(pPrj,LIST_APPEND);
}
if (bHasModes)
pPrj->AddDependencies( aItem, sMode );
else
pPrj->AddDependencies( aItem );
pPrj->HasHardDependencies( bHardDep );
pPrj->HasFixedDependencies( bFixedDep );
/*
if ( nStarMode == STAR_MODE_RECURSIVE_PARSE ) {
String sItem( aItem, RTL_TEXTENCODING_ASCII_US );
InsertSolarList( sItem );
}
*/
}
}
break;
}
/* Wenn dieses Project noch nicht vertreten ist, in die Liste
der Solar-Projekte einfuegen */
if ( i == -1 )
{
aProjectName = aDirName.GetToken ( 0, 0x5c);
if ( HasProject( aProjectName ))
{
pPrj = GetPrj( aProjectName );
// Projekt exist. schon, neue Eintraege anhaengen
}
else
{
// neues Project anlegen
pPrj = new Prj ( aProjectName );
pPrj->SetPreFix( aPrefix );
Insert(pPrj,LIST_APPEND);
}
pCmdData = new CommandData;
pCmdData->SetPath( aDirName );
pCmdData->SetCommandType( nCommandType );
pCmdData->SetCommandPara( aCommandPara );
pCmdData->SetOSType( nOSType );
pCmdData->SetLogFile( aLogFileName );
pCmdData->SetComment( aCommentString );
pCmdData->SetClientRestriction( sClientRestriction );
if ( pDepList2 )
pCmdData->SetDependencies( pDepList2 );
pPrj->Insert ( pCmdData, LIST_APPEND );
}
i++;
rString.Erase(0, aToken.Len()+1);
aToken = rString.GetToken( 0, '\t' );
yytext = aToken.GetBuffer();
}
// und wer raeumt die depLst wieder ab ?
// macht CommandData selber
ByteString sProjectName = rTokenLine.GetToken(1,'\t');
Prj* pPrj = GetPrj (sProjectName); // 0, if Prj not found;
Star::InsertTokenLine ( rTokenLine, &pPrj, sProjectName, sal_False );
}
/*****************************************************************************/
......
......@@ -287,6 +287,7 @@ private:
SDepInfoList* RemoveDepInfoList(SDepInfoList* pInfoList );
PrjList* pTempCommandDataList;
BOOL bTempCommandDataListPermanent;
BOOL bError;
public:
Prj();
Prj( ByteString aName );
......@@ -329,6 +330,9 @@ public:
void SetTempCommandDataListPermanent (BOOL bVar = TRUE) {bTempCommandDataListPermanent = bVar;}
BOOL IsTempCommandDataListPermanent() {return bTempCommandDataListPermanent;}
void SetError (BOOL bVar = TRUE) {bError = bVar;}
BOOL HasError () {return bError;}
Prj& operator<< ( SvStream& rStream );
Prj& operator>> ( SvStream& rStream );
};
......@@ -396,6 +400,7 @@ protected:
void Expand_Impl();
void ExpandPrj_Impl( Prj *pPrj, Prj *pDepPrj );
ULONG SearchFileEntry( StarFileList *pStarFiles, StarFile* pFile );
void InsertTokenLine (const ByteString& rToken, Prj** ppPrj, const ByteString& rProjectName, const sal_Bool bExtendAlias = sal_True);
public:
Star();
......@@ -421,7 +426,7 @@ public:
BOOL RemovePrj ( Prj* pPrj );
void RemoveAllPrj ();
void InsertToken( char *pChar );
StarFile* ReadBuildlist (const String& rFilename, BOOL bReadComments = FALSE, BOOL bExtendAlias = TRUE);
BOOL NeedsUpdate();
SolarFileList* NeedsFilesForUpdate();
void ReplaceFileEntry( StarFileList *pStarFiles, StarFile* pFile );
......@@ -472,7 +477,7 @@ public:
USHORT Write( String aFileName );
USHORT WriteMultiple( String rSourceRoot );
void InsertTokenLine( ByteString& rString );
void InsertTokenLine ( const ByteString& rTokenLine );
};
#endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment