コード例 #1
0
ファイル: MojDbIndex.cpp プロジェクト: sailesharya/db8
MojErr MojDbIndex::addProp(const MojObject& propObj, bool pushFront)
{
    LOG_TRACE("Entering function %s", __FUNCTION__);
	MojAssert(!isOpen());

	// create extractor
	MojRefCountedPtr<MojDbExtractor> extractor;
	MojErr err = createExtractor(propObj, extractor);
	MojErrCheck(err);
	const MojString& name = extractor->name();

	// check for repeats
	if (m_propNames.find(name) != MojInvalidSize) {
		MojErrThrowMsg(MojErrDbInvalidIndex, _T("db: invalid index '%s' - property '%s' repeated"), m_name.data(), name.data());
	}

	// add to vecs
	if (pushFront) {
		err = m_propNames.insert(0, 1, name);
		MojErrCheck(err);
		err = m_props.insert(0, 1, extractor);
		MojErrCheck(err);
	} else {
		err = m_propNames.push(name);
		MojErrCheck(err);
		err = m_props.push(extractor);
		MojErrCheck(err);
	}
	return MojErrNone;
}
コード例 #2
0
ファイル: TskExtract.cpp プロジェクト: 0xkasun/OpenDF
 /**
  * Factory Function
  * @param   archivePath Local path of the container file.
  * @param   extFilter   Optional filter string specifying a particular type of archive.
  * @returns Smart pointer to a new extractor object appropriate to the container
  *          Pointer will be NULL if an extractor is not found for this container.
  */
 ExtractorPtr createExtractor(const std::wstring &archivePath, const std::string filter /*= ""*/)
 {
     return createExtractor(TskUtilities::toUTF8(archivePath), filter);
 }