本文整理汇总了C++中Artifact::IsNull方法的典型用法代码示例。如果您正苦于以下问题:C++ Artifact::IsNull方法的具体用法?C++ Artifact::IsNull怎么用?C++ Artifact::IsNull使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Artifact
的用法示例。
在下文中一共展示了Artifact::IsNull方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: TestCreateNewVersion
void TestDominoDocArtifact::TestCreateNewVersion()
{
DomDocHelper testDominoDocument(TEST_ARTIFACT_FILE);
DominoDocArtifact artifact(m_spLibrary, testDominoDocument.DocumentId, testDominoDocument.GetVersionLabel());
long originalVersionCount = artifact.GetVersions().Count;
std::wstring originalVersion = artifact.VersionLabel;
Artifact newVersion = artifact.CreateNewVersion(L"This version was created by TestDominoDocArtifact::TestCreateNewVersion().", L"formats");
assertMessage(!newVersion.IsNull(), _T("Expect a non-null artifact representing the new version."));
assertMessage((originalVersionCount + 1) == artifact.GetVersions().Count, _T("Creating a new version should increase the version count by one."));
assertMessage(0 != newVersion.VersionLabel.compare(originalVersion), _T("The new artifact has the same version label as the original artifact."));
}
示例2: SelectDocumentEx
bool FacadeDocumentProviderImpl::SelectDocumentEx(LONG_PTR lHwnd, const std::wstring& formatString, const std::wstring& /*previousSelectedDocumentId*/, std::wstring& documentId)
{
// TODO: We need a SelectArtifactVersion if previousSelectedDocumentId has something.
LOG_WS_FUNCTION_SCOPE();
Connector& connector = GetConnector();
LOG_WS_INFO(L"Retrieved connector" );
Artifact document = connector.SelectArtifact((HWND)lHwnd, formatString);
if(document.IsNull())
{
LOG_WS_INFO(L"document == NULL" );
return false;
}
documentId = EncodeWorkshareId(document.Id, document.VersionLabel, document.GetRepository().Id);
return true;
}
示例3: GetSaveInfo
HRESULT FacadeDocumentProviderImpl::GetSaveInfo(HWND hWnd, const std::wstring& formatString, long lFlags, long& lFormatIndex, WSDocNonCom& wsDoc)
{
//-- ArtifactImpl
//TODO: Replace Existing Version
//TODO: Create a relation
//-- Connector
// Create new artifact (Add Files)
UNREFERENCED_PARAMETER(lFormatIndex);
if(DF_NEW_DOCUMENT & lFlags)
{
std::wstring newFileName = wsDoc.GetDescription();
Artifact artifact = GetConnector().CreateArtifact(hWnd, formatString, newFileName);
if (artifact.IsNull())
return E_DOCUMENT_NOT_FOUND;
PopulateWSDocMembersFromArtifact(artifact, wsDoc);
wsDoc.SetFlags(DOCUMENT_LOCKED_BY_US);
lFormatIndex = CalculateFormatIndex(formatString, artifact.GetFileExtension());
artifact.Lock();
}
// Create a relation
else if(DF_ATTACH & lFlags)
{
Artifact existing = GetArtifactByWorkshareId(wsDoc.GetDocId());
if (existing.IsNull())
return E_DOCUMENT_NOT_FOUND;
CStdString sDummyFile = CTempFileManager::GetTempFileName();;
CStdString sExt;
DocUtilities::GetExtensionFromFileName(sDummyFile,sExt);
Artifact related = existing.CreateRelatedItem(CStdStringW(sDummyFile),GetDefaultSaveExtensionFromFormatString(formatString, lFormatIndex), formatString, true);
if (related.IsNull())
return E_DOCUMENT_NOT_FOUND;
related.Lock();
PopulateWSDocMembersFromArtifact(related, wsDoc);
lFormatIndex = CalculateFormatIndex(formatString, related.GetFileExtension());
wsDoc.SetFlags(DOCUMENT_LOCKED_BY_US);
}
// Create a new version
else if(DF_VERSION & lFlags)
{
std::wstring repositoryId;
std::wstring artifactId;
std::wstring versionLabel;
DecodeWorkshareId(wsDoc.GetDocId().c_str(), artifactId, versionLabel, repositoryId);
Repository repository = GetConnector().GetRepositoryById(repositoryId.c_str());
Artifact artifact = repository.GetArtifactById(artifactId.c_str(), versionLabel.c_str());
Artifact artifactVersion = artifact.CreateNewVersion(L"", formatString);
PopulateWSDocMembersFromArtifact(artifactVersion, wsDoc);
artifactVersion.Lock();
wsDoc.SetFlags(DOCUMENT_LOCKED_BY_US);
lFormatIndex = CalculateFormatIndex(formatString, artifactVersion.GetFileExtension());
}
return S_OK;
}