示例#1
0
void GrXPFactoryTestFactory::VerifyFactoryCount() {
    if (kXPFactoryCount != GetFactories()->count()) {
        SkDebugf("\nExpected %d xp factory factories, found %d.\n",
                 kXPFactoryCount, GetFactories()->count());
        SkFAIL("Wrong number of xp factory factories!");
    }
}
示例#2
0
void GrProcessorTestFactory<GrGeometryProcessor>::VerifyFactoryCount() {
    if (kGPFactoryCount != GetFactories()->count()) {
        SkDebugf("\nExpected %d geometry processor factories, found %d.\n",
                 kGPFactoryCount, GetFactories()->count());
        SkFAIL("Wrong number of geometry processor factories!");
    }
}
示例#3
0
void GrProcessorTestFactory<GrFragmentProcessor>::VerifyFactoryCount() {
    if (kFPFactoryCount != GetFactories()->count()) {
        SkDebugf("\nExpected %d fragment processor factories, found %d.\n",
                 kFPFactoryCount, GetFactories()->count());
        SkFAIL("Wrong number of fragment processor factories!");
    }
}
bool GStreamerFormatHelper::HaveElementsToProcessCaps(GstCaps* aCaps) {
  NS_ASSERTION(sLoadOK, "GStreamer library not linked");

  GList* factories = GetFactories();

  /* here aCaps contains [containerCaps, [codecCaps1, [codecCaps2, ...]]] so process
   * caps structures individually as we want one element for _each_
   * structure */
  for (unsigned int i = 0; i < gst_caps_get_size(aCaps); i++) {
    GstStructure* s = gst_caps_get_structure(aCaps, i);
    GstCaps* caps = gst_caps_new_full(gst_structure_copy(s), nullptr);

    bool found = false;
    for (GList *elem = factories; elem; elem = elem->next) {
      if (SupportsCaps(GST_ELEMENT_FACTORY_CAST(elem->data), caps)) {
        found = true;
        break;
      }
    }

	gst_caps_unref(caps);

    if (!found) {
      return false;
    }
  }

  return true;
}
void
ReflectSessionFactory ::
BroadcastToAllFactories(const MessageRef & msgRef, void * userData, bool toSelf)
{
   TCHECKPOINT;

   for (HashtableIterator<IPAddressAndPort, ReflectSessionFactoryRef> iter(GetFactories()); iter.HasData(); iter++)
   {
      ReflectSessionFactory * factory = iter.GetValue()();
      if ((factory)&&((toSelf)||(factory != this))) factory->MessageReceivedFromFactory(*this, msgRef, userData);
   }
}
void
AbstractReflectSession ::
BroadcastToAllFactories(const MessageRef & msgRef, void * userData)
{
   TCHECKPOINT;

   for (HashtableIterator<IPAddressAndPort, ReflectSessionFactoryRef> iter(GetFactories()); iter.HasData(); iter++)
   {
      ReflectSessionFactory * factory = iter.GetValue()();
      if (factory) factory->MessageReceivedFromSession(*this, msgRef, userData);
   }
}
示例#7
0
void GrProcessorTestFactory<GrXPFactory>::VerifyFactoryCount() {
    if (kXPFactoryCount != GetFactories()->count()) {
        SkFAIL("Wrong number of xp factory factories!");
    }
}
示例#8
0
void GrProcessorTestFactory<GrGeometryProcessor>::VerifyFactoryCount() {
    if (kGPFactoryCount != GetFactories()->count()) {
        SkFAIL("Wrong number of geometry processor factories!");
    }
}
示例#9
0
void GrProcessorTestFactory<GrFragmentProcessor>::VerifyFactoryCount() {
    if (kFPFactoryCount != GetFactories()->count()) {
        SkFAIL("Wrong number of fragment processor factories!");
    }
}
示例#10
0
int Init(lua_State* L)
{
	gLua = Lua();

	CreateInterfaceFn interfaceFactory = Sys_GetFactory("engine.dll");

	engine = (IVEngineServer*)interfaceFactory(INTERFACEVERSION_VENGINESERVER, NULL);
	if(!engine)
	{
		gLua->Error("gm_astar: Missing IVEngineServer interface.\n");
	}
	
	CreateInterfaceFn fsFactory;

	if(gLua->IsDedicatedServer())
	{
		fsFactory = GetFactories().fileSystemFactory;
	}
	else
	{
		fsFactory = Sys_GetFactory("filesystem_steam.dll");
	}

	if(!fsFactory)
	{
		gLua->Error("gm_astar: Missing fsFactory\n");
	}

	filesystem = (IFileSystem*)fsFactory(FILESYSTEM_INTERFACE_VERSION, NULL);
	if(!filesystem)
	{
		gLua->Error("gm_astar: Missing IFileSystem interface.\n");
	}

	// Get a reference to the function to survive past 510 calls!
	ILuaObject *VectorMeta = gLua->GetGlobal("Vector");
		VectorMeta->Push();
		VectorMetaRef = gLua->GetReference(-1, true);
	VectorMeta->UnReference();

	gLua->SetGlobal("HEURISTIC_MANHATTAN", (float)AStar::HEURISTIC_MANHATTAN);
	gLua->SetGlobal("HEURISTIC_EUCLIDEAN", (float)AStar::HEURISTIC_EUCLIDEAN);
	gLua->SetGlobal("HEURISTIC_DISTANCE", (float)AStar::HEURISTIC_DISTANCE);
	gLua->SetGlobal("HEURISTIC_CUSTOM", (float)AStar::HEURISTIC_CUSTOM);

	gLua->SetGlobal("CreateAStar", CreateAStar);

	ILuaObject *MetaAStar = gLua->GetMetaTable(ASTAR_NAME, ASTAR_TYPE);
		ILuaObject *AStarIndex = gLua->GetNewTable();
			AStarIndex->SetMember("GetNode", AStar_GetNode);
			AStarIndex->SetMember("GetNodeTotal", AStar_GetNodeTotal);
			AStarIndex->SetMember("GetNodes", AStar_GetNodes);
			AStarIndex->SetMember("FindPath", AStar_FindPath);
			AStarIndex->SetMember("AddNode", AStar_AddNode);
			AStarIndex->SetMember("GetHeuristic", AStar_GetHeuristic);
			AStarIndex->SetMember("GetStart", AStar_GetStart);
			AStarIndex->SetMember("GetEnd", AStar_GetEnd);
			AStarIndex->SetMember("SetHeuristic", AStar_SetHeuristic);
			AStarIndex->SetMember("SetStart", AStar_SetStart);
			AStarIndex->SetMember("SetEnd", AStar_SetEnd);
			AStarIndex->SetMember("Save", AStar_Save);
			AStarIndex->SetMember("Load", AStar_Load);
			AStarIndex->SetMember("NearestNode", AStar_NearestNode);
			AStarIndex->SetMember("LinkNodes", AStar_LinkNodes);
			AStarIndex->SetMember("AutoLinkNodes", AStar_AutoLinkNodes);
		MetaAStar->SetMember("__index", AStarIndex);
		AStarIndex->UnReference();
	MetaAStar->UnReference();

	ILuaObject *MetaAStarNode = gLua->GetMetaTable(ASTAR_NODE_NAME, ASTAR_NODE_TYPE);
		ILuaObject *AStarNodeIndex = gLua->GetNewTable();
			AStarNodeIndex->SetMember("Link", AStarNode_Link);
			AStarNodeIndex->SetMember("IsLink", AStarNode_IsLink);
			AStarNodeIndex->SetMember("GetPos", AStarNode_GetPos);
			AStarNodeIndex->SetMember("GetLinks", AStarNode_GetLinks);
		MetaAStarNode->SetMember("__index", AStarNodeIndex);
		AStarNodeIndex->UnReference();
	MetaAStarNode->UnReference();

	Msg("gm_astar: Programmed by Spacetech; Not for Troin's eyes!\n");

	return 0;
}