We are evaluating the Xamarin.Android component before placing the order. For this we are using the trial version of the Xamarin.Android project.

However, we are not able to find the complete API's directly which we can use to integrate the xamarin.android component.
We are trying to establish the telnet connection and we need help with below calls\ identifying the API's,
1)Which class to use to establish the telnet connection?
2)Connect api
3)Disconnect api
4)Send api
5)Receive api
6)Is xamarin.android is thread safe? Can we make multiple calls on it from different thread?
7)What is the difference between Bind and StartScripting?
8)What is the use of VirtualTerminal and why we should use it in our android project?
9)How to retrieve each character attributes like underline, bold, reverse video, blinking or colored?
10)How to get the response from host and how to send the user input to host?
11)Is there any logging mechanism available in xamarin.android project, if yes then what are the api's which we can use?

6) In the Telnet protocol you cannot send two commands from one Telnet client to the server at the same time, so this does not make sense. If you need to make non-blocking calls to keep your GUI responsive, of course you can call the methods of Telnet/Scripting classes from a dedicated thread. If you need to perform more tasks at once at the server, you need to create a special Telnet connection for each request.

7) Both Bind and StartScripting methods internally create a new connection to Telnet server. StartScripting is a method from the Telnet class that you can call (and then it internally creates its own VirtualTerminal object), whereas the Bind method is typically used to bind an existing terminal control (GUI) or virtual terminal (GUI-less) to a Telnet class.See more details.

8) As long as you do a Telnet.StartScripting which is recommended, then the Virtual terminal is automatically created for you. The virtual terminal is then accessible as property of Scripting class Scripting.Terminal.

In more details, Virtual terminal is a class deigned for easy communication with Telnet and SSH servers. You can imagine it as GUI-less virtual terminal. In fact we do not yet offer a GUI terminal control for Xamarin.Android, so the virtual terminal is what you need here. From our documentation:

"VirtualTerminal is a terminal emulation object that is very similar to TerminalControl, but there is one major difference - it's not visible. In fact, it's not even a control. Otherwise, it shares most features with TerminalControl and is suitable for applications that need to interact with SSH or telnet servers but don't need to display the actual terminal session." The powerful Scripting API is built on top of Virtual Terminal and it is a good class to use if you need to script a specific task with Rebex Terminal emulation component.

9) to retrieve a character at a screen position, just use the
Terminal.Screen.GetCell method which returns the TerminalCell like this:

10) to send data to Telnet server and read server response, use these methods:

scripting.Send("data"); // sends the data to server
scripting.SendCommand("data"); // sends the data and newline and then waits for server response
scripting.WaitFor(ScriptEvent.Prompt); // waits for a ScriptEvent condition to be met
scripting.ReadUntil(ScriptEvent.Prompt); // returns data received until a ScriptEvent condition is met