private bool ReadFragments() { if (Header.HasFlag(PacketHeaderFlags.BlobFragments)) { while (DataReader.BaseStream.Position != DataReader.BaseStream.Length) { try { var fragment = new ClientPacketFragment(); if (!fragment.Unpack(DataReader)) { return(false); } Fragments.Add(fragment); } catch (Exception) { // corrupt packet return(false); } } } return(true); }
public void CreateFragments(int count = 1) { for (int i = 0; i < count; i++) { Fragments.Add(new Fragment()); } }
private async void GetDrawerInfo() { var profile = await _profileDrawerControllerService.GetUserProfile(); RunOnUiThread(() => { if (profile != null) { //set up profile picture, logout button and favorites if the user is logged in LoggedIn = true; NavView.FindViewById(Resource.Id.drawerNonAuthenticatedHeader).Visibility = ViewStates.Gone; NavView.FindViewById(Resource.Id.drawerLogout).Visibility = ViewStates.Visible; var authHeader = NavView.FindViewById(Resource.Id.drawerAuthenticatedHeader); authHeader.Visibility = ViewStates.Visible; Picasso.With(this).Load(profile.ProfileImageUrl) .Into(authHeader.FindViewById <ImageView>(Resource.Id.drawerAuthenticatedHeader_Avatar)); authHeader.Tag = profile.ProfileId; authHeader.SetOnClickListener(this); authHeader.FindViewById <TextView>(Resource.Id.drawerUser_Fullname).Text = profile.ProfileFirstName + " " + profile.ProfileLastName; authHeader.FindViewById <TextView>(Resource.Id.drawerUser_Handle).Text = profile.ProfileHandle; //Setting up auth tab layout //MainTabLayout.Visibility = ViewStates.Visible; Fab.Visibility = ViewStates.Visible; //TODO: Change these to real fragments later if (Fragments.Count == 1) { Fragments.Add(NotificationFragment.NewInstance()); Fragments.Add(NotificationFragment.NewInstance()); } MainFragAdapter.NotifyDataSetChanged(); SetTabIcons(); } else { //set up icon and hide tab layout when user is not logged in LoggedIn = false; Fab.Visibility = ViewStates.Gone; NavView.FindViewById(Resource.Id.drawerLogout).Visibility = ViewStates.Gone; NavView.FindViewById(Resource.Id.drawerNonAuthenticatedHeader).Visibility = ViewStates.Visible; NavView.FindViewById(Resource.Id.drawerAuthenticatedHeader).Visibility = ViewStates.Gone; NavView.FindViewById <ImageView>(Resource.Id.drawerNonAuthenticatedHeader_Avatar) .SetImageDrawable( ViewUtil.GetSVGDrawable(this, "profile_empty", 200, Resource.Color.Upward_dark_grey)); MainTabLayout.Visibility = ViewStates.Gone; } PreferenceManager.GetDefaultSharedPreferences(ApplicationContext).Edit() .PutBoolean(Constants.PREF_SIGNED_IN_KEY, LoggedIn).Commit(); }); }
private void ReadFragments() { if (Header.HasFlag(PacketHeaderFlags.BlobFragments)) { while (Payload.BaseStream.Position != Payload.BaseStream.Length) { Fragments.Add(new ClientPacketFragment(Payload)); } } }
public void AddFragment(SupportFragment fragment, string name) { try { Fragments.Add(fragment); FragmentNames.Add(name); } catch (Exception exception) { Crashes.TrackError(exception); } }
public void AddFragment(SupportFragment fragment, string name) { try { Fragments.Add(fragment); FragmentNames.Add(name); } catch (Exception exception) { Methods.DisplayReportResultTrack(exception); } }
public void AddFragment(SupportFragment fragment, string name) { try { Fragments.Add(fragment); FragmentNames.Add(name); } catch (Exception e) { Console.WriteLine(e); } }
/// <summary> /// Pushes the fragment onto the view stack. /// </summary> /// <param name="fragment">The fragment.</param> public void PushFragment(CrexBaseFragment fragment) { var oldFragment = Fragments.LastOrDefault(); var tx = FragmentManager.BeginTransaction(); tx.SetCustomAnimations(global::Android.Resource.Animator.FadeIn, global::Android.Resource.Animator.FadeOut, global::Android.Resource.Animator.FadeIn, global::Android.Resource.Animator.FadeOut); tx.Add(global::Android.Resource.Id.Content, fragment); Fragments.Add(fragment); InFragmentTransition = true; tx.Commit(); }
private void ReadFragments() { if (Header.HasFlag(PacketHeaderFlags.BlobFragments)) { while (Payload.BaseStream.Position != Payload.BaseStream.Length) { try { Fragments.Add(new ClientPacketFragment(Payload)); } catch (Exception) { // corrupt packet IsValid = false; break; } } } }
private void MainActivity_OnCreate(object sender, EventArgs e) { try { Accounts = new Accounts( Path.Combine(DataDir.AbsolutePath, "accounts"), CacheDir.AbsolutePath ); } catch (Exception ex) { ShowError(ex); } _navbar = FindViewById <BottomNavigationView>(Resource.Id.main_navbar); _navbar.NavigationItemSelected += Navbar_NavigationItemSelected; Fragments.Add(new AccountsFragment()); Fragments.Add(new SettingsFragment()); }
public void CreatFragment() { int widthThird = (int)((double)_img.Width / 3.0 + 0.5); int heightThird = (int)((double)_img.Height / 3.0 + 0.5); for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { var bmp = new Bitmap(widthThird, heightThird); Graphics graph = Graphics.FromImage(bmp); graph.DrawImage(_img, new Rectangle(0, 0, widthThird, heightThird), new Rectangle(j * widthThird, i * heightThird, widthThird, heightThird), GraphicsUnit.Pixel); Fragments.Add(new Model.Fragment() { Name = "рис " + (i + j).ToString(), I = i, J = j, Pic = bmp }); graph.Dispose(); } } }
public void MergeFieldAndFragment() { var fragment = new FragmentDefinition(new NameNode("fragment")); var fragmentSelection = new SelectionSet(); fragmentSelection.Add(FirstTestField); fragment.SelectionSet = fragmentSelection; fragment.Type = new GraphQL.Language.AST.NamedType( new NameNode("Person")); var fragments = new Fragments(); fragments.Add(fragment); var schema = new Schema(); schema.RegisterType(new PersonType()); var context = new ExecutionContext { Fragments = fragments, Schema = schema }; var fragSpread = new FragmentSpread(new NameNode("fragment")); var outerSelection = new SelectionSet(); outerSelection.Add(fragSpread); outerSelection.Add(SecondTestField); var fields = ExecutionHelper.CollectFields( context, new PersonType(), outerSelection); fields.ShouldHaveSingleItem(); fields["test"].SelectionSet.Selections.ShouldContain(x => x.IsEqualTo(FirstInnerField)); fields["test"].SelectionSet.Selections.ShouldContain(x => x.IsEqualTo(SecondInnerField)); }
public void AddFragment(SupportFragment fragment, string name) { Fragments.Add(fragment); FragmentNames.Add(name); }
public void Unpack(BinaryReader reader) { var bytesRemaining = reader.BytesRemaining(); log.DebugFormat("Unpack bytes: {0}", bytesRemaining); log.Assert(bytesRemaining >= PacketHeaderSize, "Packet size too small"); log.Assert(bytesRemaining <= MaxPacketSize, "Packet size too big"); SeqID = reader.ReadUInt32(); Header = (PacketHeaderFlags)reader.ReadUInt32(); Checksum = reader.ReadUInt32(); RecId = reader.ReadUInt16(); Interval = reader.ReadUInt16(); DataLen = reader.ReadUInt16(); Iteration = reader.ReadUInt16(); log.DebugFormat("SeqID: {0}, Header: {1}, Checksum {2}, RecId: {3}, Interval {4}, DataLen: {5}, Iteration: {6}", SeqID, Header, Checksum, RecId, Interval, DataLen, Iteration); bytesRemaining = reader.BytesRemaining(); #if NETWORKVALIDATION log.Assert(bytesRemaining == DataLen, "Size of reader " + DataLen + " does not equal packet length: " + bytesRemaining); #endif if ((Header & PacketHeaderFlags.ServerSwitch) != 0) { ServerSwitchData.Unpack(reader); } if ((Header & PacketHeaderFlags.Referral) != 0) { ReferralData.Unpack(reader); } if ((Header & PacketHeaderFlags.NegativeAck) != 0) { NegativeAckData.Unpack(reader); } if ((Header & PacketHeaderFlags.EmptyAck) != 0) { EmptyAckData.Unpack(reader); } if ((Header & PacketHeaderFlags.PositiveAck) != 0) { PositiveAckData.Unpack(reader); } if ((Header & PacketHeaderFlags.LoginRequest) != 0) { LoginRequestData.Unpack(reader); } if ((Header & PacketHeaderFlags.ServerSwitchRequest) != 0) { ServerSwitchRequestData.Unpack(reader); } if ((Header & PacketHeaderFlags.ConnectRequest) != 0) { ConnectRequestData.Unpack(reader); } if ((Header & PacketHeaderFlags.ConnectResponse) != 0) { ConnectResponseData.Unpack(reader); } if ((Header & PacketHeaderFlags.NetError) != 0) { NetErrorData.Unpack(reader); } if ((Header & PacketHeaderFlags.CloseConnection) != 0) { CloseConnectionData.Unpack(reader); } if ((Header & PacketHeaderFlags.CICMDCommand) != 0) { CicmdData.Unpack(reader); } if ((Header & PacketHeaderFlags.TimeSync) != 0) { TimeSyncData.Unpack(reader); } if ((Header & PacketHeaderFlags.EchoRequest) != 0) { EchoRequestData.Unpack(reader); } if ((Header & PacketHeaderFlags.EchoResponse) != 0) { EchoResponseData.Unpack(reader); } if ((Header & PacketHeaderFlags.Flow) != 0) { FlowData.Unpack(reader); } if ((Header & PacketHeaderFlags.BlobFragments) != 0) { log.Debug("Reading Blob Fragments"); Fragments.Clear(); bytesRemaining = reader.BytesRemaining(); uint fragNum = 0; while (bytesRemaining >= 16) { log.DebugFormat("Bytes Remaining: {0}", bytesRemaining); BlobFrag newItem = new BlobFrag(reader); #if NETWORKDEBUG newItem.NetworkPacketNum = NetworkPacketNum; newItem.NetworkFragmentNum = ++fragNum; #endif Fragments.Add(newItem); bytesRemaining = reader.BytesRemaining(); } #if NETWORKVALIDATION log.Assert(bytesRemaining == 0, "Bytes still remaining in packet: " + bytesRemaining); #endif } }
public void AddFragmentFile(string file) { Fragments.Add(File.ReadAllText(file)); }
/// <summary> /// Takes one or more packets as a byte array, validates they match source/destination IP and protocol, /// and stores them for defragmentation processing. /// </summary> /// <param name="buffer">byte array containing packet data</param> /// <param name="size">usable length of byte array - must be less than its allocated length.</param> public unsafe void FilterAndStoreData(byte[] buffer, int size) { int offset = 0; if (buffer == null || buffer.Length == 0) { return; } if (buffer.Length < size) { Trace.WriteLine("IPDecoder: Buffer length is less than specified size. Size=[" + size.ToString() + "], Length=[" + buffer.Length + "]", "DEBUG-MACHINA"); return; } fixed(byte *ptr = buffer) { while (offset < size - sizeof(IPv4Header)) { // first four bits (network order) of IPv4 and IPv6 is the protocol version byte version = (byte)((ptr + offset)[0] >> 4); if (version == 6) { // TODO: IP6 packets, and mixed IP4/IP6, need to be tested with real-world data. if (offset + sizeof(IPv6Header) > size) { Trace.WriteLine("IPDecoder: IP6 Packet too small for header. offset: " + offset.ToString() + ", size: " + size.ToString(), "DEBUG-MACHINA"); return; } IPv6Header header6 = *(IPv6Header *)(ptr + offset); // make sure we have a valid exit condition if (header6.PayloadLength * 8 > buffer.Length - offset - sizeof(IPv6Header)) { Trace.WriteLine("IPDecoder: IP6 Packet too small for payload. payload length: " + (header6.payload_length * 8).ToString() + ", Buffer: " + buffer.Length.ToString() + ", offset: " + offset.ToString(), "DEBUG-MACHINA"); return; } offset += sizeof(IPv6Header) + (header6.PayloadLength * 8); continue; } else if (version != 4) { Trace.WriteLine("IPDecoder: IP protocol version is neither 4 nor 6. Version is " + version.ToString(), "DEBUG-MACHINA"); return; } IPv4Header ip4Header = *(IPv4Header *)(ptr + offset); int packetLength = ip4Header.Length; // work-around for TCP segment offloading if (packetLength == 0 && ip4Header.Id != 0) { packetLength = size; } // make sure we have a valid exit condition if (packetLength <= 0 & packetLength > 65535) { Trace.WriteLine("IPDecoder: Invalid packet length [" + packetLength.ToString() + "].", "DEBUG-MACHINA"); return; } if (packetLength > buffer.Length - offset) { Trace.WriteLine("IPDecoder: buffer too small to hold complete packet. Packet length is [" + packetLength.ToString() + "], remaining buffer is [" + (buffer.Length - offset).ToString() + "].", "DEBUG-MACHINA"); return; } // filter out packets with an incorrect source / destination IP if (_sourceIP == ip4Header.ip_srcaddr && _destinationIP == ip4Header.ip_destaddr && _protocol == ip4Header.protocol) { // store payload byte[] ret = new byte[packetLength]; Array.Copy(buffer, offset, ret, 0, ret.Length); Fragments.Add(ret); } offset += packetLength; } // Note: disabled because this seems to occur occasionally for winpcap for no apparent reason. Packet length is 40 bytes, buffer length is 46. Eth header is 14 bytes, total payload was 60. /* * if (offset != size) * { * Trace.WriteLine("IPDecoder: Buffer contains extra bytes after processing packets. Buffer size: [" + size.ToString() + "], final processed length: [" + offset.ToString() + "]."); * Trace.WriteLine(Utility.ByteArrayToHexString(buffer, 0, size)); * } */ } }
public void AddFragment(Android.Support.V4.App.Fragment fragment, string name) { Fragments.Add(fragment); FragmentNames.Add(name); }
public void AddFragment(SupportFragment fragment, string name, int icon) { Fragments.Add(fragment); FragmentNames.Add(name); FragmentIcon.Add(icon); }
public void AddFragment(AndroidX.Fragment.App.Fragment fragment, string name) { Fragments.Add(fragment); FragmentNames.Add(name); }