// // Copyright 1997 Nicholas J. Irias. All rights reserved. // // // Cmd_LabelSynch.cpp #include "stdafx.h" #include "p4win.h" #include "cmd_labelsynch.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif IMPLEMENT_DYNCREATE(CCmd_LabelSynch, CP4Command) CCmd_LabelSynch::CCmd_LabelSynch(CGuiClient *client) : CP4Command(client) { m_ReplyMsg= WM_P4LABELSYNC; m_TaskName= _T("LabelSynch"); m_Preview = FALSE; } BOOL CCmd_LabelSynch::Run(LPCTSTR labelName, CStringList *files, BOOL whatIf, BOOL removeFromLabel, BOOL noDeletes) { ASSERT(labelName != NULL); ASSERT(!files->IsEmpty()); // Set the base of arg list ClearArgs(); AddArg(_T("labelsync")); if(removeFromLabel) AddArg(_T("-d")); if(noDeletes) AddArg(_T("-a")); if(whatIf) { m_Preview = TRUE; AddArg(_T("-n")); } AddArg(_T("-l")); m_BaseArgs =AddArg(labelName); m_posStrListIn=files->GetHeadPosition(); m_pStrListIn=files; // Put the first few files into the arg list NextListArgs(); return CP4Command::Run(); } void CCmd_LabelSynch::OnOutputInfo(char level, LPCTSTR data, LPCTSTR msg) { m_StrListOut.AddHead(data); }