Exemplo n.º 1
0
/*
// ReadData()
//
// Read the record.
*/
ERRORCODE ComponentRecord::ReadData( StorageDevicePtr device )
{
	ERRORCODE error = device->read_record( &record, sizeof(record) );

	if (ERRORCODE_None == error)
	{
		m_pInternalData = new RBufferStream();
		error = device->huge_read( m_pInternalData->GetBuffer( record.data_size ), record.data_size );

		// Make a Framework storage out of the internal data
		RChunkStorage storage( record.data_size, m_pInternalData->GetBuffer( record.data_size ) );

		// We need to check for linked data right away,
		// because it may be necessary before the component
		// is needed.  Note: the component could be loaded
		// here as well, but might as well load it only
		// when it is about to be used.
		if (!storage.Start( kLinkedDataID, FALSE ).End( ))
		{
			DWORD clsidLinkedData;
			storage >> clsidLinkedData;

			m_pLinkedData = CPLinkedData::CreateFromClassId( clsidLinkedData, database );
			m_pLinkedData->Read( storage );

			storage.SelectParentChunk();
		}
Exemplo n.º 2
0
ERRORCODE PatternObject::read_data(StorageDevicePtr device)
{
	ERRORCODE error;

	if ((error = INHERITED::read_data(device)) == ERRORCODE_None)
	{
		error = device->read_record(&precord, sizeof(precord));
	}
	return error;
}
Exemplo n.º 3
0
ERRORCODE HyperlinkRecord::ReadData(StorageDevicePtr device)
{
	ERRORCODE error;

	if ((error = device->read_record(&record, sizeof(record))) == ERRORCODE_None
		 && (error = device->read_cstring(m_csFilePathOrURL)) == ERRORCODE_None)
	{
	}
	return error;
}
Exemplo n.º 4
0
ERRORCODE RectangleObject::read_data(StorageDevicePtr device)
{
	ERRORCODE error;

	if ((error = INHERITED::read_data(device)) == ERRORCODE_None)
	{
		error = device->read_record(&m_RectRecord, sizeof(m_RectRecord));
	}
	return error;
}
Exemplo n.º 5
0
ERRORCODE MacroListRecord::ReadData(StorageDevicePtr device)
{
	ERRORCODE error;

/* Read the master record. */

	if ((error = device->read_record(&m_Record, sizeof(m_Record))) == ERRORCODE_None)
	{
		int nMacros = m_Record.m_wCount;

	/* Read all macros. */

		for (int nMacro = 0; nMacro < nMacros; nMacro++)
		{
			CMacro* pMacro = NULL;

			TRY
				pMacro = new CMacro;
			END_TRY

			if (pMacro == NULL)
			{
				return ERRORCODE_Memory;
			}

		/* Read the macro. */

			if ((error = pMacro->ReadData(device)) != ERRORCODE_None)
			{
				delete pMacro;
				return error;		// And get outta' here.
			}

#ifdef LOCALIZE			
// CB - september 97 for localization
// TODO find a permanent solution
// for now don't add any of the Permanent field names from the template if they don't exist
// in the list for this language. This is a temporary solution to the problem
// of templates with hard-coded permanent field names
			if ( (pMacro != NULL) &&
				 ( !(pMacro->Flags() & MACRO_FLAG_PermanentName) || (IsPermanentField(pMacro->Name()) ) )
				 )
				m_Macros.Add(pMacro);
		}
	}
Exemplo n.º 6
0
ERRORCODE OutlinePathRecord::ReadData(StorageDevicePtr device)
{
	ERRORCODE error;

	if ((error = device->read_record(&record, sizeof(record))) == ERRORCODE_None
			&& (error = device->read_cstring(m_csName)) == ERRORCODE_None
			&& (error = m_Path.ReadData(device)) == ERRORCODE_None)
	{
		if (record.m_DesignBounds.Width() == 0
			 || record.m_DesignBounds.Height() == 0)
		{
			record.m_DesignBounds.Left = MakeFixed(0);
			record.m_DesignBounds.Top = MakeFixed(0);
			record.m_DesignBounds.Right = MakeFixed(1);
			record.m_DesignBounds.Bottom = MakeFixed(1);
//			m_Path.BoundingBox(&record.m_DesignBounds);		// Normalized to 0,0 to 1,1
		}
	}
	return error;
}
Exemplo n.º 7
0
ERRORCODE CMacro::ReadData(StorageDevicePtr device)
{
	ERRORCODE error;

	if ((error = device->read_record(&m_Record, sizeof(m_Record))) == ERRORCODE_None
		  && (error = device->read_cstring(m_csName)) == ERRORCODE_None
		  && (error = device->read_cstring(m_csValue)) == ERRORCODE_None)
	{
		switch (m_Record.m_wValueType)
		{
			case VALUE_TYPE_OldField:
			{
				m_csFieldClass = "Address";			// A default.
				m_Record.m_wValueType = VALUE_TYPE_Field;
				break;
			}
			case VALUE_TYPE_Field:
			{
				error = device->read_cstring(m_csFieldClass);
				break;
			}
			default:			// Includes VALUE_TYPE_String.
			{
				m_csFieldClass = "";
				break;
			}
		}
#ifdef LOCALIZE
		// cb October 97 translate any permanent fields where required
		if (m_Record.m_wFlags & MACRO_FLAG_PermanentName)
		{
			m_csName = TranslateFields((LPCSTR) m_csName);
		}
#endif

	}
	return error;
}
Exemplo n.º 8
0
ERRORCODE WMFHelper::read(StorageDevicePtr device)
{
	return device->read_record(&record, sizeof(record));
}
Exemplo n.º 9
0
ERRORCODE PSDHelper::read(StorageDevicePtr device)
{
	return device->read_record(&m_Record, sizeof(m_Record));
}
Exemplo n.º 10
0
ERRORCODE CalendarInfoRecord::ReadData(StorageDevicePtr device)
{
	return device->read_record(&record, sizeof(record));
}