Beispiel #1
0
int main(void)
{
#ifdef __OS20__
        /* The internal partition on OS20 leaks with transient tasks */
        internal_partition = system_partition;
#endif

	harness_boot();

	MME_Init();
	MME_RegisterTransport(TRANSPORT_NAME);

	MME(RegisterTransformer("com.st.mcdt.mme.test",
				SimpleTest_AbortCommand,
				SimpleTest_GetTransformerCapability,
				SimpleTest_InitTransformer,
				SimpleTest_ProcessCommand,
				SimpleTest_TermTransformer));

	MME(Run());

	/* INSbl23335: prove that the remote termination function really was called */
	assert(0 == instantiatedCounter);

	harness_shutdown();
	return 0;
}
Beispiel #2
0
void
MET_type_exit()
{
   int		i;
   MME(MET_type_exit);

   for (i = 0; i < MET_FIELD_MAX; i++)
      MET_TYPE_FREE(MET__type_field[i]);

   MET_TYPE_FREE(MET__type_unknown);
   MET_TYPE_FREE(MET__type_set);
   MET_TYPE_FREE(MET__type_bogus);
   MET_TYPE_FREE(MET_type_generic_map);
   MET_TYPE_FREE(MET_type_interval);
   MET_TYPE_FREE(MET_type_access_marker);
   MET_TYPE_FREE(MET_type_access_text);
}
Beispiel #3
0
void
MET_type_initialize()
{
   int		i;
   METtype	*t,*t1, *t2;
   MME(MET_type_initialize);

   MET_TYPE_ALLOC(MET__type_unknown);
   MET__type_unknown->type = MET_TYPE_TYPE_UNKNOWN;
   MET_TYPE_ALLOC(MET__type_set);
   MET__type_set->type = MET_TYPE_TYPE_SET;
   MET_TYPE_ALLOC(MET__type_bogus);
   MET__type_bogus->type = MET_TYPE_TYPE_BOGUS;

   MET_TYPE_ALLOC(MET_type_generic_map);
   MET_type_generic_map->type = MET_TYPE_TYPE_MAP;
   MET_TYPE_NEW_UNKNOWN(MET_type_generic_map->info.map.from);
   MET_TYPE_NEW_UNKNOWN(MET_type_generic_map->info.map.to);

   for (i = 0; i < MET_FIELD_MAX; i++) {
      MET_TYPE_ALLOC(MET__type_field[i]);
      MET__type_field[i]->type = MET_TYPE_TYPE_FIELD;
      MET__type_field[i]->info.field.type = i;
   }

   MET_TYPE_NEW_FIELD(t, MET_FIELD_REAL);
   MET_TYPE_NEW_SET_OF(MET_type_interval, t);
   MET_TYPE_FREE(t);

   MET_TYPE_NEW_UNKNOWN(t);
   MET_TYPE_NEW_FIELD(t1, MET_FIELD_INTEGER);
   MET_TYPE_NEW_PAIR(MET_type_access_marker, t, t1);
   MET_TYPE_FREE(t);
   MET_TYPE_FREE(t1);

   MET_TYPE_NEW_UNKNOWN(t);
   MET_TYPE_NEW_FIELD(t1, MET_FIELD_INTEGER);
   MET_TYPE_NEW_VECTOR(t2, t1, TYPE_DIMENSION_UNKNOWN, NO);
   MET_TYPE_FREE(t1);
   MET_TYPE_NEW_PAIR(MET_type_access_text, t, t2);
   MET_TYPE_FREE(t);
   MET_TYPE_FREE(t2);
}
Beispiel #4
0
void ModelManager :: AddModel( Model * m, ModelMode mm ) {
	if ( FindModel( m->Name() ) ) {
		throw Exception( "Duplicate model name " + ALib::SQuote( m->Name() ));
	}
	mModels.push_back( MME( m, mm ) );
}
Beispiel #5
0
/* TODO:
 * Multiple companion CPU tests
 */
int main(void)
{
	MME_TransformerInitParams_t initParams = {
		sizeof(MME_TransformerInitParams_t),
		MME_PRIORITY_NORMAL,
		TransformerCallback,
		USERDATA,
		0,
		NULL,
	};
	MME_TransformerHandle_t transformerHandle;
	MME_TransformerHandle_t transformerHandle2;

	MME_ERROR error;

	/* bring up the API */
	harness_boot();
	MME(Init());

#ifndef USERMODE
	assert(MME_DeregisterTransport(TRANSPORT_NAME)==MME_INVALID_ARGUMENT);
	MME(RegisterTransport(TRANSPORT_NAME));
#endif

#if 0
	/* Currently a bug in EMBX prevents a transport from being 
           closed and reopened
         */
	printf("Calling MME_DeregisterTransport\n");
	error = MME_DeregisterTransport(TRANSPORT_NAME);
	printf("MME_DeregisterTransport err %d\n", error);

	VERBOSE(printf(MACHINE "MME_InitTransformer(com.st.mcdt.mme.test)"));
	/* this should fail - no transports yet */
	error = MME_InitTransformer("com.st.mcdt.mme.test", &initParams, &transformerHandle);
	assert(error == MME_UNKNOWN_TRANSFORMER);


	MME(RegisterTransport(TRANSPORT_NAME));

#endif

	/* this should fail - not a valid xformer */
	error = MME_InitTransformer("com.st.mcdt.mme.testX", &initParams, &transformerHandle);
	assert(error == MME_UNKNOWN_TRANSFORMER);

        do {
		VERBOSE(printf("Attempting MME_InitTransformer(com.st.mcdt.mme.test)\n"));
		/* loop till registered on companion */
		error = MME_InitTransformer("com.st.mcdt.mme.test", &initParams, &transformerHandle);
		harness_sleep(1);
	} while (error == MME_UNKNOWN_TRANSFORMER);
    

	/* And again - two instantiations on the same CPU */
	MME(InitTransformer("com.st.mcdt.mme.test", &initParams, &transformerHandle2));

	/* tidy up */
	MME(TermTransformer(transformerHandle));

	error = MME_Term();
	assert(error == MME_HANDLES_STILL_OPEN);

	MME(TermTransformer(transformerHandle2));

	MME(Term());

	harness_shutdown();
	return 0;
}