using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Perforce.P4 { /// <summary> /// The tagged output of a command. /// </summary> public class TaggedObject : Dictionary<String, String> { /// <summary> /// Basic constrictor /// </summary> public TaggedObject() : base() { } /// <summary> /// Copy constructor /// </summary> /// <param name="obj">Source object</param> public TaggedObject(TaggedObject obj) : base(obj) { } }; /// <summary> /// A list of tagged objects. /// </summary> public class TaggedObjectList : List<TaggedObject> { }; ///// <summary> ///// List of info messages. ///// </summary> //public class InfoList : List<InfoLine> //{ // /// <summary> // /// Cast to a String[]. // /// </summary> // /// <param name="l"></param> // /// <returns></returns> // public static implicit operator String[](InfoList l) // { // String[] r = new String[l.Count]; // int idx = 0; // foreach (InfoLine i in l) // r[idx++] = i.ToString(); // return r; // } // /// <summary> // /// Cast to a String. Messages are separated by \r\n // /// </summary> // /// <param name="l"></param> // /// <returns></returns> // public static implicit operator String(InfoList l) // { // StringBuilder r = new StringBuilder(l.Count * 80); // foreach (InfoLine i in l) // { // r.Append(i.ToString()); // r.Append("/r/n"); // } // return r.ToString(); // } //} ///// <summary> ///// A single line of output from an 'info' message. ///// </summary> //public class InfoLine //{ // /// <summary> // /// The level of the message (0-9) // /// </summary> // public int Level; // /// <summary> // /// The level of the message (0-9) // /// </summary> // public uint CommandId; // /// <summary> // /// The message // /// </summary> // public String Info; // /// <summary> // /// Create a new InfoLine // /// </summary> // /// <param name="nLevel">Level of the message</param> // /// <param name="nInfo">Message text.</param> // public InfoLine(uint cmdId, int nLevel, String nInfo) // { // CommandId = cmdId; // Level = nLevel; // Info = nInfo; // } // /// <summary> // /// Convert the info to text // /// </summary> // /// <returns>String representation</returns> // public override string ToString() // { // String levelDots = String.Empty; // for (int idx = 0; idx < Level; idx++) // levelDots += "."; // return String.Format("{0}{1}", levelDots, Info); // } //} /// <summary> /// Base class for objects returned by a command as 'tagged' data. /// </summary> /// <remarks> /// Contains a Hashtable of the field values for the object. /// Derived object can provide properties to directly access /// their standard attributes. /// </remarks> public class TaggedInfoItem : TaggedObject { private String name; /// <summary> /// String that that is the field that identifies this object /// </summary> public String Name { get { return name; } } /// <summary> /// The raw data returned from the server /// </summary> public TaggedObject ItemData { get { return (TaggedObject)this; } } /// <summary> /// Default constructer /// </summary> public TaggedInfoItem() { name = String.Empty; } } }
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 12428 | YourUncleBob |
Populate -o //guest/perforce_software/p4connect/src/P4Bridge/... //guest/YourUncleBob/p4connect/src/P4Bridge/.... |
||
//guest/perforce_software/p4connect/src/P4Bridge/p4api.net/TaggedObject.cs | |||||
#2 | 12135 | Norman Morse |
Integrate dev branch changes into main. This code is the basiis of the 2.7 BETA release which provides Unity 5 compatibility |
||
#1 | 10940 | Norman Morse |
Inital Workshop release of P4Connect. Released under BSD-2 license |