本文整理汇总了C#中IClientAPI.SendClassifiedInfoReply方法的典型用法代码示例。如果您正苦于以下问题:C# IClientAPI.SendClassifiedInfoReply方法的具体用法?C# IClientAPI.SendClassifiedInfoReply怎么用?C# IClientAPI.SendClassifiedInfoReply使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IClientAPI
的用法示例。
在下文中一共展示了IClientAPI.SendClassifiedInfoReply方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ClassifiedInfoRequestHandler
private void ClassifiedInfoRequestHandler(UUID classifiedID, IClientAPI client)
{
// FIXME: Fetch this info
client.SendClassifiedInfoReply(classifiedID, UUID.Zero, 0, Utils.DateTimeToUnixTime(DateTime.UtcNow + TimeSpan.FromDays(1)),
0, String.Empty, String.Empty, UUID.Zero, 0, UUID.Zero, String.Empty, Vector3.Zero, String.Empty, 0, 0);
}
示例2: ClassifiedInfoRequest
public void ClassifiedInfoRequest(UUID queryClassifiedID, IClientAPI remoteClient)
{
Classified classified = ProfileFrontend.GetClassified(queryClassifiedID);
if (classified == null || classified.CreatorUUID == UUID.Zero)
return;
remoteClient.SendClassifiedInfoReply(queryClassifiedID, classified.CreatorUUID, classified.CreationDate,
classified.ExpirationDate, classified.Category, classified.Name,
classified.Description, classified.ParcelUUID, classified.ParentEstate,
classified.SnapshotUUID, classified.SimName, classified.GlobalPos,
classified.ParcelName, classified.ClassifiedFlags,
classified.PriceForListing);
}
示例3: ClassifiedInfoRequest
public void ClassifiedInfoRequest(UUID queryClassifiedID, IClientAPI remoteClient)
{
Hashtable ReqHash = new Hashtable();
ReqHash["classifiedID"] = queryClassifiedID.ToString();
Hashtable result = GenericXMLRPCRequest(ReqHash,
"classifieds_info_query");
if (!Convert.ToBoolean(result["success"]))
{
remoteClient.SendAgentAlertMessage(
result["errorMessage"].ToString(), false);
return;
}
//The viewer seems to issue an info request even when it is
//creating a new classified which means the data hasn't been
//saved to the database yet so there is no info to find.
ArrayList dataArray = (ArrayList)result["data"];
if (dataArray.Count == 0)
{
// Something bad happened here if we could not return an
// event after the search. We should be able to find it here.
// TODO do some (more) sensible error-handling here
// remoteClient.SendAgentAlertMessage("Couldn't find data for classified ad.",
// false);
return;
}
Hashtable d = (Hashtable)dataArray[0];
Vector3 globalPos = new Vector3();
Vector3.TryParse(d["posglobal"].ToString(), out globalPos);
remoteClient.SendClassifiedInfoReply(
new UUID(d["classifieduuid"].ToString()),
new UUID(d["creatoruuid"].ToString()),
Convert.ToUInt32(d["creationdate"]),
Convert.ToUInt32(d["expirationdate"]),
Convert.ToUInt32(d["category"]),
d["name"].ToString(),
d["description"].ToString(),
new UUID(d["parceluuid"].ToString()),
Convert.ToUInt32(d["parentestate"]),
new UUID(d["snapshotuuid"].ToString()),
d["simname"].ToString(),
globalPos,
d["parcelname"].ToString(),
Convert.ToByte(d["classifiedflags"]),
Convert.ToInt32(d["priceforlisting"]));
}
示例4: ClassifiedInfoRequest
public void ClassifiedInfoRequest(UUID queryClassifiedID, IClientAPI remoteClient)
{
IUserProfileInfo info = ProfileFrontend.GetUserProfile(remoteClient.AgentId);
if (info == null)
return;
if (info.Classifieds.ContainsKey(queryClassifiedID.ToString()))
{
Classified classified = new Classified();
classified.FromOSD((OSDMap)info.Classifieds[queryClassifiedID.ToString()]);
remoteClient.SendClassifiedInfoReply(queryClassifiedID, classified.CreatorUUID, classified.CreationDate, classified.ExpirationDate, classified.Category, classified.Name, classified.Description, classified.ParcelUUID, classified.ParentEstate, classified.SnapshotUUID, classified.SimName, classified.GlobalPos, classified.ParcelName, classified.ClassifiedFlags, classified.PriceForListing);
}
}
示例5: ClassifiedInfoRequest
public void ClassifiedInfoRequest(UUID queryClassifiedID, IClientAPI remoteClient)
{
// okies this is pretty simple straightforward stuff as well... pull the info from the
// db based on the Classified ID we got back from viewer from the original query above
// and send it back.
//ClassifiedData data = new ClassifiedData();
string query = "select * from classifieds where classifieduuid=?classifiedID";
Dictionary<string, object> parms = new Dictionary<string, object>();
parms.Add("?classifiedID", queryClassifiedID);
Vector3 globalPos = new Vector3();
using (ISimpleDB db = _connFactory.GetConnection())
{
List<Dictionary<string, string>> results = db.QueryWithResults(query, parms);
foreach (Dictionary<string, string> row in results)
{
Vector3.TryParse(row["posglobal"].ToString(), out globalPos);
//remoteClient.SendClassifiedInfoReply(data);
remoteClient.SendClassifiedInfoReply(
new UUID(row["classifieduuid"].ToString()),
new UUID(row["creatoruuid"].ToString()),
Convert.ToUInt32(row["creationdate"]),
Convert.ToUInt32(row["expirationdate"]),
Convert.ToUInt32(row["category"]),
row["name"].ToString(),
row["description"].ToString(),
new UUID(row["parceluuid"].ToString()),
Convert.ToUInt32(row["parentestate"]),
new UUID(row["snapshotuuid"].ToString()),
row["simname"].ToString(),
globalPos,
row["parcelname"].ToString(),
Convert.ToByte(row["classifiedflags"]),
Convert.ToInt32(row["priceforlisting"]));
}
}
}
示例6: ClassifiedInfoRequest
public void ClassifiedInfoRequest(UUID queryClassifiedID, IClientAPI remoteClient)
{
UUID target = remoteClient.AgentId;
UserClassifiedAdd ad = new UserClassifiedAdd();
ad.ClassifiedId = queryClassifiedID;
lock (m_classifiedCache)
{
if (m_classifiedCache.ContainsKey(queryClassifiedID))
{
target = m_classifiedCache[queryClassifiedID];
m_classifiedInterest[queryClassifiedID] --;
if (m_classifiedInterest[queryClassifiedID] == 0)
{
m_classifiedInterest.Remove(queryClassifiedID);
m_classifiedCache.Remove(queryClassifiedID);
}
}
}
string serverURI = string.Empty;
GetUserProfileServerURI(target, out serverURI);
object Ad = (object)ad;
if(!rpc.JsonRpcRequest(ref Ad, "classifieds_info_query", serverURI, UUID.Random().ToString()))
{
remoteClient.SendAgentAlertMessage(
"Error getting classified info", false);
return;
}
ad = (UserClassifiedAdd) Ad;
if(ad.CreatorId == UUID.Zero)
return;
Vector3 globalPos = new Vector3();
Vector3.TryParse(ad.GlobalPos, out globalPos);
remoteClient.SendClassifiedInfoReply(ad.ClassifiedId, ad.CreatorId, (uint)ad.CreationDate, (uint)ad.ExpirationDate,
(uint)ad.Category, ad.Name, ad.Description, ad.ParcelId, (uint)ad.ParentEstate,
ad.SnapshotId, ad.SimName, globalPos, ad.ParcelName, ad.Flags, ad.Price);
}
示例7: ClassifiedInfoRequest
// Request Classifieds
public void ClassifiedInfoRequest(UUID classifiedID, IClientAPI client)
{
Hashtable ReqHash = new Hashtable();
ReqHash["avatar_id"] = client.AgentId.ToString();
ReqHash["classified_id"] = classifiedID.ToString();
Hashtable result = GenericXMLRPCRequest(ReqHash, "classifiedinforequest");
if (!Convert.ToBoolean(result["success"]))
{
client.SendAgentAlertMessage(result["errorMessage"].ToString(), false);
return;
}
ArrayList dataArray = (ArrayList)result["data"];
if (dataArray.Count==0)
{
//client.SendAgentAlertMessage("Couldn't find this classifieds.", false);
return;
}
Hashtable d = (Hashtable)dataArray[0];
Vector3 globalPos = new Vector3();
Vector3.TryParse(d["posglobal"].ToString(), out globalPos);
if (d["name"]==null) d["name"] = String.Empty;
if (d["description"]==null) d["description"] = String.Empty;
if (d["parcelname"]==null) d["parcelname"] = String.Empty;
string name = d["name"].ToString();
string desc = d["description"].ToString();
if (Enc!=null) {
name = Enc.GetString(Convert.FromBase64String(name));
desc = Enc.GetString(Convert.FromBase64String(desc));
}
client.SendClassifiedInfoReply( new UUID(d["classifieduuid"].ToString()),
new UUID(d["creatoruuid"].ToString()),
Convert.ToUInt32(d["creationdate"]),
Convert.ToUInt32(d["expirationdate"]),
Convert.ToUInt32(d["category"]),
name,
desc,
new UUID(d["parceluuid"].ToString()),
Convert.ToUInt32(d["parentestate"]),
new UUID(d["snapshotuuid"].ToString()),
d["simname"].ToString(),
globalPos,
d["parcelname"].ToString(),
Convert.ToByte(d["classifiedflags"]),
Convert.ToInt32(d["priceforlisting"]));
}
示例8: ClassifiedInfoRequest
public void ClassifiedInfoRequest(UUID queryClassifiedID, IClientAPI remoteClient)
{
Hashtable ReqHash = new Hashtable();
ReqHash["classifiedID"] = queryClassifiedID.ToString();
Hashtable result = GenericXMLRPCRequest(ReqHash,
"classifieds_info_query");
if (!Convert.ToBoolean(result["success"]))
{
remoteClient.SendAgentAlertMessage(
result["errorMessage"].ToString(), false);
return;
}
ArrayList dataArray = (ArrayList)result["data"];
if (dataArray.Count == 0)
{
// something bad happened here, if we could return an
// event after the search,
// we should be able to find it here
// TODO do some (more) sensible error-handling here
remoteClient.SendAgentAlertMessage("Couldn't find this classifieds.",
false);
return;
}
Hashtable d = (Hashtable)dataArray[0];
Vector3 globalPos = new Vector3();
Vector3.TryParse(d["posglobal"].ToString(), out globalPos);
remoteClient.SendClassifiedInfoReply(
new UUID(d["classifieduuid"].ToString()),
new UUID(d["creatoruuid"].ToString()),
Convert.ToUInt32(d["creationdate"]),
Convert.ToUInt32(d["expirationdate"]),
Convert.ToUInt32(d["category"]),
d["name"].ToString(),
d["description"].ToString(),
new UUID(d["parceluuid"].ToString()),
Convert.ToUInt32(d["parentestate"]),
new UUID(d["snapshotuuid"].ToString()),
d["simname"].ToString(),
globalPos,
d["parcelname"].ToString(),
Convert.ToByte(d["classifiedflags"]),
Convert.ToInt32(d["priceforlisting"]));
}
示例9: ClassifiedInfoRequest
public void ClassifiedInfoRequest(UUID queryClassifiedID, IClientAPI remoteClient)
{
UUID target = remoteClient.AgentId;
UserClassifiedAdd ad = new UserClassifiedAdd();
ad.ClassifiedId = queryClassifiedID;
lock (m_classifiedCache)
{
if (m_classifiedCache.ContainsKey(queryClassifiedID))
{
target = m_classifiedCache[queryClassifiedID];
m_classifiedInterest[queryClassifiedID] --;
if (m_classifiedInterest[queryClassifiedID] == 0)
{
m_classifiedInterest.Remove(queryClassifiedID);
m_classifiedCache.Remove(queryClassifiedID);
}
}
}
UserProfileCacheEntry uce = null;
lock(m_profilesCache)
{
if(m_profilesCache.TryGetValue(target, out uce) && uce != null)
{
if(uce.classifieds != null && uce.classifieds.ContainsKey(queryClassifiedID))
{
ad = uce.classifieds[queryClassifiedID];
Vector3 gPos = new Vector3();
Vector3.TryParse(ad.GlobalPos, out gPos);
remoteClient.SendClassifiedInfoReply(ad.ClassifiedId, ad.CreatorId, (uint)ad.CreationDate,
(uint)ad.ExpirationDate, (uint)ad.Category, ad.Name, ad.Description,
ad.ParcelId, (uint)ad.ParentEstate, ad.SnapshotId, ad.SimName,
gPos, ad.ParcelName, ad.Flags, ad.Price);
return;
}
}
}
string serverURI = string.Empty;
bool foreign = GetUserProfileServerURI(target, out serverURI);
if(string.IsNullOrWhiteSpace(serverURI))
{
return;
}
object Ad = (object)ad;
if(!rpc.JsonRpcRequest(ref Ad, "classifieds_info_query", serverURI, UUID.Random().ToString()))
{
remoteClient.SendAgentAlertMessage(
"Error getting classified info", false);
return;
}
ad = (UserClassifiedAdd) Ad;
if(ad.CreatorId == UUID.Zero)
return;
if(foreign)
cacheForeignImage(target, ad.SnapshotId);
lock(m_profilesCache)
{
if(!m_profilesCache.TryGetValue(target, out uce) || uce == null)
uce = new UserProfileCacheEntry();
if(uce.classifieds == null)
uce.classifieds = new Dictionary<UUID, UserClassifiedAdd>();
uce.classifieds[ad.ClassifiedId] = ad;
m_profilesCache.AddOrUpdate(target, uce, PROFILECACHEEXPIRE);
}
Vector3 globalPos = new Vector3();
Vector3.TryParse(ad.GlobalPos, out globalPos);
remoteClient.SendClassifiedInfoReply(ad.ClassifiedId, ad.CreatorId, (uint)ad.CreationDate, (uint)ad.ExpirationDate,
(uint)ad.Category, ad.Name, ad.Description, ad.ParcelId, (uint)ad.ParentEstate,
ad.SnapshotId, ad.SimName, globalPos, ad.ParcelName, ad.Flags, ad.Price);
}