本文整理汇总了C#中OpenSim.Framework.Capabilities.Caps类的典型用法代码示例。如果您正苦于以下问题:C# OpenSim.Framework.Capabilities.Caps类的具体用法?C# OpenSim.Framework.Capabilities.Caps怎么用?C# OpenSim.Framework.Capabilities.Caps使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
OpenSim.Framework.Capabilities.Caps类属于命名空间,在下文中一共展示了OpenSim.Framework.Capabilities.Caps类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: UploadBakedTextureServerConnector
public UploadBakedTextureServerConnector(IConfigSource config, IHttpServer server, string configName) :
base(config, server, configName)
{
if (configName != String.Empty)
m_ConfigName = configName;
IConfig serverConfig = config.Configs[m_ConfigName];
if (serverConfig == null)
throw new Exception(String.Format("No section '{0}' in config file", m_ConfigName));
string assetService = serverConfig.GetString("AssetService", String.Empty);
if (assetService == String.Empty)
throw new Exception("No AssetService in config file");
Object[] args = new Object[] { config };
m_AssetService =
ServerUtils.LoadPlugin<IAssetService>(assetService, args);
if (m_AssetService == null)
throw new Exception(String.Format("Failed to load AssetService from {0}; config is {1}", assetService, m_ConfigName));
// NEED TO FIX THIS
OpenSim.Framework.Capabilities.Caps caps = new OpenSim.Framework.Capabilities.Caps(server, "", server.Port, "", UUID.Zero, "");
server.AddStreamHandler(new RestStreamHandler(
"POST",
"/CAPS/UploadBakedTexture/",
new UploadBakedTextureHandler(caps, m_AssetService, true).UploadBakedTexture,
"UploadBakedTexture",
"Upload Baked Texture Capability"));
}
示例2: RegisterCaps
public void RegisterCaps(UUID agentID, Caps caps)
{
UUID capuuid = UUID.Random();
caps.RegisterHandler("ViewerStartAuction",
new RestHTTPHandler("POST", "/CAPS/" + capuuid + "/",
delegate(Hashtable m_dhttpMethod)
{
return ViewerStartAuction(m_dhttpMethod, capuuid);
}));
}
示例3: RegisterCaps
public void RegisterCaps(UUID agentID, Caps caps)
{
UUID capuuid = UUID.Random();
// m_log.InfoFormat("[OBJECTADD]: {0}", "/CAPS/OA/" + capuuid + "/");
caps.RegisterHandler("ObjectAdd",
new RestHTTPHandler("POST", "/CAPS/OA/" + capuuid + "/",
delegate(Hashtable m_dhttpMethod)
{
return ProcessAdd(m_dhttpMethod, agentID, caps);
}));
}
示例4: RegisterCaps
public void RegisterCaps(UUID agentID, Caps caps)
{
UUID capuuid = UUID.Random();
// m_log.InfoFormat("[OBJECTADD]: {0}", "/CAPS/OA/" + capuuid + "/");
caps.RegisterHandler(
"ObjectAdd",
new RestHTTPHandler(
"POST",
"/CAPS/OA/" + capuuid + "/",
httpMethod => ProcessAdd(httpMethod, agentID, caps),
"ObjectAdd",
agentID.ToString()));;
}
示例5: EventManager_OnRegisterCaps
void EventManager_OnRegisterCaps(UUID agentID, Caps caps)
{
CAPSPrivateSeedHandler handler = new CAPSPrivateSeedHandler(null,//the server IS null for a reason, so that we don't add the handlers at the wrong time
m_scene.InventoryService,
m_scene.LibraryService, m_scene.GridUserService,
m_scene.PresenceService, "", agentID, ""); //URL and Hostname are all "" as well so that we don't add the hostname by accident
List<IRequestHandler> handlers = handler.GetServerCAPS();
foreach (IRequestHandler handle in handlers)
{
if (handler.registeredCAPSPath.ContainsKey(handle.Path))
{
caps.RegisterHandler(handler.registeredCAPSPath[handle.Path].ToString(), handle);
}
}
}
示例6: RegisterCaps
public void RegisterCaps(UUID agentID, Caps caps)
{
UUID capuuid = UUID.Random();
caps.RegisterHandler("ServerReleaseNotes",
new RestHTTPHandler("POST", "/CAPS/ServerReleaseNotes/" + capuuid + "/",
delegate(Hashtable m_dhttpMethod)
{
return ProcessServerReleaseNotes(m_dhttpMethod, agentID, capuuid);
}));
caps.RegisterHandler("CopyInventoryFromNotecard",
new RestHTTPHandler("POST", "/CAPS/" + capuuid + "/",
delegate(Hashtable m_dhttpMethod)
{
return CopyInventoryFromNotecard(m_dhttpMethod, capuuid, agentID);
}));
}
示例7: RegisterCaps
public void RegisterCaps(UUID agentID, Caps caps)
{
UUID capuuid = UUID.Random();
caps.RegisterHandler("ObjectAdd",
new RestHTTPHandler("POST", "/CAPS/OA/" + capuuid + "/",
delegate(Hashtable m_dhttpMethod)
{
return ProcessAdd(m_dhttpMethod, agentID, caps);
}));
caps.RegisterHandler("ServerReleaseNotes",
new RestHTTPHandler("POST", "/CAPS/ServerReleaseNotes/" + capuuid + "/",
delegate(Hashtable m_dhttpMethod)
{
return ProcessServerReleaseNotes(m_dhttpMethod, agentID, capuuid);
}));
}
示例8: RegisterCaps
/// <summary>
/// Set up the CAPS for display names
/// </summary>
/// <param name="agentID"></param>
/// <param name="caps"></param>
public void RegisterCaps(UUID agentID, Caps caps)
{
UUID capuuid = UUID.Random();
caps.RegisterHandler("SetDisplayName",
new RestHTTPHandler("POST", "/CAPS" + capuuid + "/",
delegate(Hashtable m_dhttpMethod)
{
return ProcessSetDisplayName(m_dhttpMethod, agentID);
}));
capuuid = UUID.Random();
caps.RegisterHandler("GetDisplayNames",
new RestHTTPHandler("POST", "/CAPS" + capuuid + "/",
delegate(Hashtable m_dhttpMethod)
{
return ProcessGetDisplayName(m_dhttpMethod, agentID);
}));
}
示例9: RegisterCaps
public void RegisterCaps(UUID agentID, Caps caps)
{
UUID capID = UUID.Random();
m_log.Info("[GETMESH]: /CAPS/" + capID);
caps.RegisterHandler("GetMesh",
new RestHTTPHandler("GET", "/CAPS/" + capID,
delegate(Hashtable m_dhttpMethod)
{
return ProcessGetMesh(m_dhttpMethod, agentID, caps);
}));
}
示例10: EventManager_OnRegisterCaps
void EventManager_OnRegisterCaps(UUID agentID, Caps caps)
{
/*string capsBase = "/CAPS/" + UUID.Random();
caps.RegisterHandler("GroupProposalBallot",
new RestHTTPHandler("POST", capsBase + "/",
delegate(Hashtable m_dhttpMethod)
{
return GroupProposalBallot(m_dhttpMethod, agentID);
}));*/
}
示例11: OnRegisterCaps
public void OnRegisterCaps(UUID agentID, Caps caps)
{
// Register an event queue for the client
//m_log.DebugFormat(
// "[EVENTQUEUE]: OnRegisterCaps: agentID {0} caps {1} region {2}",
// agentID, caps, m_scene.RegionInfo.RegionName);
// Let's instantiate a Queue for this agent right now
TryGetQueue(agentID);
UUID eventQueueGetUUID;
lock (m_AvatarQueueUUIDMapping)
{
// Reuse open queues. The client does!
if (m_AvatarQueueUUIDMapping.ContainsKey(agentID))
{
//m_log.DebugFormat("[EVENTQUEUE]: Found Existing UUID!");
eventQueueGetUUID = m_AvatarQueueUUIDMapping[agentID];
}
else
{
eventQueueGetUUID = UUID.Random();
//m_log.DebugFormat("[EVENTQUEUE]: Using random UUID!");
}
}
lock (m_QueueUUIDAvatarMapping)
{
if (!m_QueueUUIDAvatarMapping.ContainsKey(eventQueueGetUUID))
m_QueueUUIDAvatarMapping.Add(eventQueueGetUUID, agentID);
}
lock (m_AvatarQueueUUIDMapping)
{
if (!m_AvatarQueueUUIDMapping.ContainsKey(agentID))
m_AvatarQueueUUIDMapping.Add(agentID, eventQueueGetUUID);
}
string eventQueueGetPath = GenerateEqgCapPath(eventQueueGetUUID);
// Register this as a caps handler
// FIXME: Confusingly, we need to register separate as a capability so that the client is told about
// EventQueueGet when it receive capability information, but then we replace the rest handler immediately
// afterwards with the poll service. So for now, we'll pass a null instead to simplify code reading, but
// really it should be possible to directly register the poll handler as a capability.
caps.RegisterHandler("EventQueueGet", new RestHTTPHandler("POST", eventQueueGetPath, null));
// delegate(Hashtable m_dhttpMethod)
// {
// return ProcessQueue(m_dhttpMethod, agentID, caps);
// }));
// This will persist this beyond the expiry of the caps handlers
// TODO: Add EventQueueGet name/description for diagnostics
MainServer.Instance.AddPollServiceHTTPHandler(
eventQueueGetPath,
new PollServiceEventArgs(null, HasEvents, GetEvents, NoEvents, agentID));
// m_log.DebugFormat(
// "[EVENT QUEUE GET MODULE]: Registered EQG handler {0} for {1} in {2}",
// eventQueueGetPath, agentID, m_scene.RegionInfo.RegionName);
Random rnd = new Random(Environment.TickCount);
lock (m_ids)
{
if (!m_ids.ContainsKey(agentID))
m_ids.Add(agentID, rnd.Next(30000000));
}
}
示例12: RegisterCaps
public void RegisterCaps(UUID agentID, Caps caps)
{
UUID capID = UUID.Random();
// m_log.Debug("[UPLOAD OBJECT ASSET MODULE]: /CAPS/" + capID);
caps.RegisterHandler(
"UploadObjectAsset",
new RestHTTPHandler(
"POST",
"/CAPS/OA/" + capID + "/",
httpMethod => ProcessAdd(httpMethod, agentID, caps),
"UploadObjectAsset",
agentID.ToString()));
/*
caps.RegisterHandler("NewFileAgentInventoryVariablePrice",
new LLSDStreamhandler<LLSDAssetUploadRequest, LLSDNewFileAngentInventoryVariablePriceReplyResponse>("POST",
"/CAPS/" + capID.ToString(),
delegate(LLSDAssetUploadRequest req)
{
return NewAgentInventoryRequest(req,agentID);
}));
*/
}
示例13: ViewerStatsReport
/// <summary>
/// Callback for a viewerstats cap
/// </summary>
/// <param name="request"></param>
/// <param name="path"></param>
/// <param name="param"></param>
/// <param name="agentID"></param>
/// <param name="caps"></param>
/// <returns></returns>
public string ViewerStatsReport(string request, string path, string param,
UUID agentID, Caps caps)
{
//m_log.Debug(request);
dataConnector.UpdateUserStats(ParseViewerStats(request, agentID));
return String.Empty;
}
示例14: OnRegisterCaps
public void OnRegisterCaps(UUID agentID, Caps caps)
{
// Register an event queue for the client
m_log.DebugFormat(
"[EVENTQUEUE]: OnRegisterCaps: agentID {0} caps {1} region {2}",
agentID, caps, m_scene.RegionInfo.RegionName);
// Let's instantiate a Queue for this agent right now
TryGetQueue(agentID);
UUID eventQueueGetUUID;
eventQueueGetUUID = m_AvatarQueueUUIDMapping.GetOrAddIfNotExists(agentID, delegate() { return UUID.Random(); });
m_QueueUUIDAvatarMapping[eventQueueGetUUID] = agentID;
m_AvatarQueueUUIDMapping[agentID] = eventQueueGetUUID;
caps.RegisterPollHandler(
"EventQueueGet",
new PollServiceEventArgs(null, GenerateEqgCapPath(eventQueueGetUUID), HasEvents, GetEvents, NoEvents, agentID, SERVER_EQ_TIME_NO_EVENTS));
Random rnd = new Random(Environment.TickCount);
try
{
m_ids.AddIfNotExists(agentID, delegate() { return rnd.Next(30000000); });
}
catch(ThreadedClasses.RwLockedDictionary<UUID, int>.KeyAlreadyExistsException)
{
}
}
示例15: OnDeRegisterCaps
private void OnDeRegisterCaps(UUID agentID, Caps caps)
{
}