Пример #1
0
void destruct_reader(READER * reader)
{
  LIME_FILE *fh = NULL;

  fh = reader->fp;
  DestroyReader(reader);
#ifdef HAVE_LIBLEMON
  MPI_File_close(fh);
  free(fh); /* NB This assumes construct_writer was used to malloc memory! */
#else /* HAVE_LIBLEMON */
  fclose(fh);
#endif /* HAVE_LIBLEMON */
}
Пример #2
0
int _tmain(int argc, _TCHAR* argv[])
{
//--- create pen ---//
	da0lib::LaserPen* pLaserPen = CreateLaserPen();

    da0lib::LASERPEN pen;
    pen.penid = RGB(255, 255, 0);
    pen.frequency = 12.34;
    pen.pulsewidth = 234.345;
    pen.speedmark = 333.223;

    pLaserPen->update(pen.penid, &pen);
    pLaserPen->save(L"test_xe4.pen");

//--- open pen ---//
    pLaserPen->open(L"test_xe4.pen");
    da0lib::LASERPEN* pPen = pLaserPen->query(RGB(255, 255, 0));

    _tprintf(L"pen.penid : %d\n", pPen->penid);
    _tprintf(L"pen.frequency : %.2f\n", pPen->frequency);
    _tprintf(L"pen.pulsewidth : %.2f\n", pPen->pulsewidth);
    _tprintf(L"pen.speedmark : %.2f\n\n", pPen->speedmark);

    DestroyLaserPen(pLaserPen);


//--- create writer ---//
    Writer* pWriter = da0lib::CreateWriter(L"test_xe4.da0");
    pWriter->layerBegin(L"testlayer");
    pWriter->shapeBegin();
    pWriter->shapeLine(RGB(255,255,0), -1.1,2.2, 3.3, 4.4);
    pWriter->shapeArc(RGB(255,255,0), 5,6,7,0,90);
    pWriter->shapeRectangle(RGB(255,255,0), -7,8,9,-10);
    DestroyWriter(pWriter);


//--- create reader ---//
	Reader* pReader  = da0lib::CreateReader(L"test_xe4.da0");

    Readerable* pReaderable = new TMyReaderable();

    pReader->load();
    pReader->parse(pReaderable, NULL);

    DestroyReader(pReader);

    int t = getchar();

	return 0;
}
Пример #3
0
CPjSocket::~CPjSocket()
{
    DestroyReader();
    sock_.Close();
}
Пример #4
0
status_t
PluginManager::CreateReader(Reader** reader, int32* streamCount,
	media_file_format* mff, BDataIO* source)
{
	TRACE("PluginManager::CreateReader enter\n");

	BPositionIO *seekable_source = dynamic_cast<BPositionIO *>(source);
	if (seekable_source == 0) {
		printf("PluginManager::CreateReader: non-seekable sources not "
			"supported yet\n");
		return B_ERROR;
	}

	// get list of available readers from the server
	entry_ref refs[MAX_READERS];
	int32 count;

	status_t ret = AddOnManager::GetInstance()->GetReaders(refs, &count,
		MAX_READERS);
	if (ret != B_OK) {
		printf("PluginManager::CreateReader: can't get list of readers: %s\n",
			strerror(ret));
		return ret;
	}

	// try each reader by calling it's Sniff function...
	for (int32 i = 0; i < count; i++) {
		entry_ref ref = refs[i];
		MediaPlugin* plugin = GetPlugin(ref);
		if (plugin == NULL) {
			printf("PluginManager::CreateReader: GetPlugin failed\n");
			return B_ERROR;
		}

		ReaderPlugin* readerPlugin = dynamic_cast<ReaderPlugin*>(plugin);
		if (readerPlugin == NULL) {
			printf("PluginManager::CreateReader: dynamic_cast failed\n");
			PutPlugin(plugin);
			return B_ERROR;
		}

		*reader = readerPlugin->NewReader();
		if (*reader == NULL) {
			printf("PluginManager::CreateReader: NewReader failed\n");
			PutPlugin(plugin);
			return B_ERROR;
		}

		seekable_source->Seek(0, SEEK_SET);
		(*reader)->Setup(seekable_source);
		(*reader)->fMediaPlugin = plugin;

		if ((*reader)->Sniff(streamCount) == B_OK) {
			TRACE("PluginManager::CreateReader: Sniff success "
				"(%ld stream(s))\n", *streamCount);
			(*reader)->GetFileFormatInfo(mff);
			return B_OK;
		}

		DestroyReader(*reader);
		*reader = NULL;
	}

	TRACE("PluginManager::CreateReader leave\n");
	return B_MEDIA_NO_HANDLER;
}
Пример #5
0
status_t
PluginManager::CreateReader(Reader** reader, int32* streamCount,
	media_file_format* mff, BDataIO* source)
{
	TRACE("PluginManager::CreateReader enter\n");

	// The wrapper class will present our source in a more useful
	// way, we create an instance which is buffering our reads and
	// writes.
	BMediaIOWrapper* buffered_source = new BMediaIOWrapper(source);
	status_t ret = buffered_source->InitCheck();
	if (ret != B_OK)
		return ret;

	// get list of available readers from the server
	entry_ref refs[MAX_READERS];
	int32 count;

	ret = AddOnManager::GetInstance()->GetReaders(refs, &count,
		MAX_READERS);
	if (ret != B_OK) {
		printf("PluginManager::CreateReader: can't get list of readers: %s\n",
			strerror(ret));
		return ret;
	}

	// try each reader by calling it's Sniff function...
	for (int32 i = 0; i < count; i++) {
		entry_ref ref = refs[i];
		MediaPlugin* plugin = GetPlugin(ref);
		if (plugin == NULL) {
			printf("PluginManager::CreateReader: GetPlugin failed\n");
			return B_ERROR;
		}

		ReaderPlugin* readerPlugin = dynamic_cast<ReaderPlugin*>(plugin);
		if (readerPlugin == NULL) {
			printf("PluginManager::CreateReader: dynamic_cast failed\n");
			PutPlugin(plugin);
			return B_ERROR;
		}

		*reader = readerPlugin->NewReader();
		if (*reader == NULL) {
			printf("PluginManager::CreateReader: NewReader failed\n");
			PutPlugin(plugin);
			return B_ERROR;
		}

		buffered_source->Seek(0, SEEK_SET);
		(*reader)->Setup(buffered_source);
		(*reader)->fMediaPlugin = plugin;

		if ((*reader)->Sniff(streamCount) == B_OK) {
			TRACE("PluginManager::CreateReader: Sniff success "
				"(%ld stream(s))\n", *streamCount);
			(*reader)->GetFileFormatInfo(mff);
			return B_OK;
		}

		DestroyReader(*reader);
		*reader = NULL;
	}

	TRACE("PluginManager::CreateReader leave\n");
	return B_MEDIA_NO_HANDLER;
}