Пример #1
0
    // GetContentValue()
    // core: ccn_content_get_value()
    public static string GetContentValue(IntPtr content_ccnb, IntPtr pco)
    {
        ccn_parsed_ContentObject Pco = new ccn_parsed_ContentObject();
        Pco = (ccn_parsed_ContentObject)Marshal.PtrToStructure(content_ccnb, typeof(ccn_parsed_ContentObject));
        UInt16 source_length = Pco.offset[(int)PCO.ccn_parsed_content_object_offsetid.CCN_PCO_E];
        IntPtr result_ptr = IntPtr.Zero;
        int result_length = 0;
        ccn_content_get_value(content_ccnb, source_length, pco, ref result_ptr, ref result_length);
        string content = Marshal.PtrToStringAnsi(result_ptr);

        return content;
    }
Пример #2
0
 // GetContentName()
 // get name from content object
 // takes info->content_ccnb
 // returns full content name
 // core: ccn_uri_append()
 public static string GetContentName(IntPtr content_ccnb)
 {
     IntPtr c = ccn_charbuf_create();
     ccn_parsed_ContentObject Pco = new ccn_parsed_ContentObject();
     Pco = (ccn_parsed_ContentObject)Marshal.PtrToStructure(content_ccnb, typeof(ccn_parsed_ContentObject));
     UInt16 source_length = Pco.offset[(int)PCO.ccn_parsed_content_object_offsetid.CCN_PCO_E];
     ccn_uri_append(c, content_ccnb, source_length, 0);
     IntPtr temp = ccn_charbuf_as_string(c);
     string contentname = Marshal.PtrToStringAnsi(temp);
     //string [] split = contentname.Split(new char [] {'/'},StringSplitOptions.RemoveEmptyEntries);
     return contentname;
 }