SGML2XML(1) SGML2XML(1) NAME sgml2xml - convert SGML to XML An SGML System Conforming to International Standard ISO 8879 — Standard Generalized Markup Language SYNOPSIS sgml2xml [ -Cehilprvx ] [ -bencoding ] [ -ccatalog ] [ -Ddir ] [ -ffile ] [ -iname ] [ -wwarning ] [ -xxml-output-option ] sysid... DESCRIPTION sgml2xml converts SGML to XML. sgml2xml parses and validates the SGML document contained in sysid... and writes an equivalent XML document to the standard output. sgml2xml will warn about SGML constructs which have no XML equivalent. OPTIONS -bencoding Use encoding for output. The default is UTF-8. See nsgmls(1) for the possible encoding types. -ccatalog Use the catalog entry file file. -C The filename... arguments specify catalog files rather than the document entity. The document entity is specified by the first DOCUMENT entry in the catalog files. -Ddirectory Search directory for files specified in system identifiers. Multi‐ ple -D options are allowed. See nsgmls(1) for more information about this option. -e Describe open entities in error messages. -ffile Redirect errors to file. This is useful only for shells that do not support redirection of stderr. -iname Pretend that <!ENTITY % name "INCLUDE"> occurs at the start of the document type declaration subset in the SGML document entity. Since repeated definitions of an entity are ignored, this defini‐ tion will take precedence over any other definitions of this entity in the document type declaration. Multiple -i options are allowed. If the SGML declaration replaces the reserved name INCLUDE then the new reserved name will be the replacement text of the entity. Typically the document type declaration will contain <!ENTITY % name "IGNORE"> and will use %name; in the status key‐ word specification of a marked section declaration. In this case the effect of the option will be to cause the marked section not to be ignored. -v Print the version number. -wtype Control warnings and errors according to type. See nsgmls(1) for the allowed values of type. -xxml-output-option Control the XML output, according to the value of xml_out‐ put_option as follows: no-nl-in-tag Don't use newlines inside start-tags. Usually sgml2xml uses newlines inside start-tags so as to reduce the probability of excessively long lines. id Output attribute declarations for ID attributes. notation Output declarations for notations. ndata Output declarations for external data entities. XML requires these to be NDATA. sgml2xml will warn about CDATA and SDATA external data entities and output them as NDATA entities. cdata Use XML CDATA sections for CDATA marked sections and for elements with a declared content of CDATA. comment Output comment declarations. Comment declarations in the DTD will not be output. lower Prefer lower case. Names that were subjected to upper-case substitution by SGML will be folded to lower case. This does not include reserved names; XML requires these to be in upper-case. pi-escape Escape &<> in the contents of processing instructions using the amp, lt and gt entities. This allows processing instructions to contain the string >?, but requires that applications handle the escapes. empty Use the <e/> syntax for element types e declared as EMPTY. attlist Output a ATTLIST declaration for every element specifying the type of all attributes. The default will always be #IMPLIED. Multiple -x options are allowed. AUTHOR James Clark<EMAIL_ADDRESS>Conversion to DocBook and man page from original HTML documention by Steve Cheng<EMAIL_ADDRESS>SEE ALSO nsgmls(1) /usr/share/doc/sp/sx.htm SP 05 July 1999 SGML2XML(1)


Reviews
Home
Reviews
5
Unreviewed
posts
for the last
5 minutes
Time (in minutes)
View
5
Unreviewed
posts
for the last
5 minutes
Time (in minutes)
View


Fig.Data for maths
Average scores for Maths across all the states is plotted against each other. Contrary to the assumption that South Indian states perform better in maths is not supported by the data.
But making a conclusion of this sort that South Indian or North India states perform better in some subjects might be biased as these datas are not normalized to single scale.
Fig.Data for science
Mean scores for Science across all the states is plotted against each other. Even on these the four major South India states haven't got higher scores than some of the other states.


User edit
Username
Error
Email
Error
First name
Error
Last name
Error
Password
You only need to fill in the password if you want to change it.
Error
Confirm password
Error
Save


Week 14 we will have an Exam the Tuesday of this week and then start into our Final Projects on the Thursday of this week.
This will give you two weeks to work on your Final project prior to finals.
The exam is "open internet" and is an overview from the topics this semester.


AerozonesBG
Safety zones nearby military and civil airports in Bulgaria, that require permit for operation
More info
Powered by
zg.Aerial


Welcome to Smart Art Trees
A small website dedicated to creating and distributing a program to help people create smart art trees in Word (and later on other products of MS office offering Smart Art)
Currently, there isn't anything to show, the program is being programmed.


Id: 458
Name: Tax Attorney
Status: unknown
Species: Human
Type:
Gender: Male
OriginName: unknown
OriginUrl:
LocationName: Interdimensional Cable
LocationUrl: https://rickandmortyapi.com/api/location/6
Image: https://rickandmortyapi.com/api/character/avatar/458.jpeg
Episode: ['https://rickandmortyapi.com/api/episode/19']
Url: https://rickandmortyapi.com/api/character/458
Created: 2018-05-01T16:11:17.925Z


Change background picture
Cut
Copy
Paste
Delete
Open
Rename
New Folder
Help
Calculator
×
Code Editor
×


--- layout: default ---
Understanding Quantum Computers
The hunger for computation power is growing every day as we seek to explore uncharted domains and to increase the sphere of human influence from subatomic particles to distant planets. Quantum Computers may be the answer to some of these needs.


Harmony wants Honour to Serve Riga to cease working with independent deputies
by LETAHarmony political party may agree to continue working in the coalition of Riga City Council under the condition Honour to Serve Riga terminates cooperation with the Independent Deputies Faction, said vice-chairperson of Riga City Council Anna Vladova after meeting with Harmony’s faction on Wednesday, 13 November.
Harmony has collected signatures to organize the next extraordinary meeting of the city council to dismiss Vadims Baraņiks from his posts as Vice-Mayor of Riga and board member of Riga Freeport.
This decision is justified with Baraņiks’ loss of trust, meaning he can no longer continue working in the coalition.
Read also: Harmony’s head promises constant control over party’s Riga City Council faction
If Honour to Serve Riga no longer cooperates with Independent Deputies Faction, they are left with 28 votes together with Harmony. There is also For Riga bloc, which unites non-party deputies. Until now this party has cooperated with the Independent Deputies Faction.
The Independent Deputies Faction unites city council deputies Valērijs Petrovs, Vitālijs Dubovs, Rosļikovs and Baraņņiks. They were excluded from Harmony in June 2019 after refusing to vote for Sandris Bergmanis as the next vice-mayor.


Instacaption
Please go here and add this Chrome extension:
Allow-Control-Allow-Origin
Captions
{{tag}}


{% extends "site.html" %} {% block title %}Connection diagnostics{% endblock %} {% block customcss %} {% comment %} {% endcomment %} {% endblock %} {% block content %}
Search connection by its HUB connection UID :
Search connections by partner external ID :
Response data :


Contact Me: Austin Griffis
My Personal Hours
-
Sunday
Personal Day Off
-
Monday
8:00 AM to 5:00 PM
-
Tuesday
8:00 AM to 5:00 PM
-
Wednesday
8:00 AM to 5:00 PM
-
Thursday
8:00 AM to 5:00 PM
-
Friday
8:00 AM to 5:00 PM
-
Saturday
8:00 AM to 5:00 PM
Customer Support:
(816) 974-7510


--- layout: post title: Catwalking date: '2017-02-12T10:30:29+01:00' categories: - Illustration picture_url: https://film-Storyboards.tumblr.com/post/157149767188 ---


DAVE is a web application developed by students. The purpose of this project is to improve the security of data transferred and stored in on-line environment.
This report will present the details behind the development of this project and its progress.
Nowadays every web-site process its user's data, no matter if it's about transfering or storing it and inevitable the security of this data is one of the current issues that people are dealing with. DAVE is projected for every website owner who wants his users data to be stored in a secured way. Also, he will be able to visualize this data both in a raw format and also in a processed one (displaying different relevant statistics).
We want to design and develop a web platform and a web service to improve the data transfer security. The application is related to all data submitted through forms, at a general level, and to all owners of websites where forms are involved. We want to help them by storing their data in an encrypted way (the data will be encrypted from the moment of form submisson and decrypted only when the client wants to acces it). So the platform will offer the possibility to manage the keys, the white-listed sites, to visualize data from the submitted forms and to get relevant statistics about these forms.
- Established what external services the platform requires (Firebase,S3, Amazon Rekognition, Web Criptography API), etc.
- Implementation of login functionality through a traditional way but also using a second authentication method in order to improve security: facial recognition.
- Implementation of the keys management logic.
- Implementation of data visualization tab.
- The generated JS code that will be imported in client's websites.
- Integrated 2nd auth step - Face Recognition, using Amazon Rekognition Service from AWS.
The registration and login system will be by default in a traditional manner, and as a 2nd factor authentication it will be via face recognition using Amazon Rekognition.
Clients data (keys, profile etc) will be stored in Firebase (project database) with specific rules for read / write while the data collected from forms will be stored in the same place but with different rules (everyone can write, only users can read).
Before storing forms data in Firebase, we will use Web Criptography API to encrypt it, as it follows:
On the client side we will retrieve data from server, we will decrypt it again using Web Criptography API and then we will display it in different manners. We will also use an external library (Firebase) in order to display relevant statistics about this data in several bar-charts.
In general, for testing, we wrote some code and after that we re-iterated through application with each workflow possible. So the testing part was only manually, each time reiterating and trying to find sneaky situations.
From a practical perspective, this application can be really useful because it would work like a black box storage, especially if the customer doesn't choose his private RSA key to be saved. Also, the necessary of resources isn't too high and that can permit us to maintain this application with a low budget. Although, the idea of permitting to everyone to write in our forms database is pretty risky because a lot of data can be written, not only from our customers. This can be fixed by storing other kind of information about our customers and about their forms / websites.
In conclusion, we hope to be able to deliver a top-notch product that will improve the idea of security of data on the internet.
We thank you for reading this Scholarly Article and we'll see you soon!


Link Name is a link to another nifty site Send me mail at<EMAIL_ADDRESS>This is a new paragraph! This is a new sentence without a paragraph break, in bold italics.


2008 ISRO/India
The Moon Impact Probe was the first Indian lunar mission, which discovered water on the moon.


Football Is All About Team Work
My Hobby Is To Play Football.
First I Never Knew About Football. I was only knowing about Cricket.
I watched My First football Match On Tv.
Ever Since Then I liked To Play football And I am Really Good At It.
I Have football classes on saturday and sunday.
I Practice football After School In My Backyard.


Interesting readings
Here are some readings I enjoyed and/or found inspiring. You can find here some classics and new publications.
You can load also download the whole bibtex of my readings and publications references here.
General readings
Data analysis readings
Visualization readings


E
- the edge type of the graphpublic final class EdgeList<E extends DirectedEdge<?,E>> extends java.lang.Object implements Meldable<EdgeList<E>>, java.lang.Iterable<E>
| Constructor and Description |
|---|
EdgeList()
Creates an empty
EdgeList |
EdgeList(java.lang.Iterable<? extends E> other)
Takes another
EdgeList an appends it to this one |
| Modifier and Type | Method and Description |
|---|---|
void |
append(E edge)
Takes an edge and appends it to this
EdgeList . |
void |
clear()
Clears the
EdgeList |
<C extends java.util.Collection<E>> |
collect(java.util.function.Supplier<C> collectionFactory)
Returns a new
Collection of the elements of this EdgeList using the provided factory. |
boolean |
equals(java.lang.Object o)
Checks if another object is equal to this
EdgeList . |
java.util.Iterator<E> |
iterator()
Returns an
Iterator over the elements in this EdgeList . |
<T extends DirectedEdge<?,T>> |
map(java.util.function.Function<E,T> mapper)
Transforms the elements of this
EdgeList using the provided function. |
<T,C extends java.util.Collection<T>> |
mapCollect(java.util.function.Function<E,T> mapper,
java.util.function.Supplier<C> collectionFactory)
Returns a new
Collection of the elements of this EdgeList using the provided factory after
transforming each element using the provided function. |
void |
meld(EdgeList<E> other)
Destructively melds other into this.
|
void |
prepend(E edge)
Takes an edge and prepends it to this
EdgeList . |
int |
size()
Returns the number of edges in this
EdgeList . |
java.util.stream.Stream<E> |
stream()
Returns a
Stream of the edges of this EdgeList . |
E[] |
toArray(java.util.function.IntFunction<E[]> generator)
Creates an array of the edges of this
EdgeList using the provided generator |
java.lang.String |
toString()
Returns a string representation of this
EdgeList . |
public EdgeList()
EdgeList
public void meld(EdgeList<E> other)
Meldable
public int size()
EdgeList
.EdgeList
public void append(E edge)
EdgeList
.edge
- the edge to be appended to this EdgeList
public void prepend(E edge)
EdgeList
.edge
- the edge to be prepended to this EdgeList
public void clear()
EdgeList
public java.util.stream.Stream<E> stream()
Stream
of the edges of this EdgeList
.Stream
of the edges of this EdgeList
public E[] toArray(java.util.function.IntFunction<E[]> generator)
EdgeList
using the provided generator
generator
- a function which produces a new array of the desired type and the provided lengthEdgeList
public <C extends java.util.Collection<E>> C collect(java.util.function.Supplier<C> collectionFactory)
Collection
of the elements of this EdgeList
using the provided factory.C
- the type of the resulting Collection
collectionFactory
- a Supplier
which returns a new, empty Collection
of the appropriate typeCollection
of the elements of this EdgeList
public <T,C extends java.util.Collection<T>> C mapCollect(java.util.function.Function<E,T> mapper, java.util.function.Supplier<C> collectionFactory)
Collection
of the elements of this EdgeList
using the provided factory after
transforming each element using the provided function.T
- the result type of the mapping functionC
- the type of the resulting Collection
mapper
- the mapping functioncollectionFactory
- a Supplier
which returns a new, empty Collection
of the appropriate typeCollection
containing the mapped elements of this EdgeList
public <T extends DirectedEdge<?,T>> EdgeList<T> map(java.util.function.Function<E,T> mapper)
EdgeList
using the provided function.public java.lang.String toString()
EdgeList
.toString
in class java.lang.Object
EdgeList
.public boolean equals(java.lang.Object o)
EdgeList
. Two instances of EdgeList
are equal
iff they have the same size and contain the same elements in identical order.equals
in class java.lang.Object
o
- object to be tested for equalityEdgeList
.


DFA Exercise Generator
Expression Only
With Wrong Graph
Hint
LaTex supported for expressions.
Problem 1
Expression:
Description:
Test Case 1:
Accept
Reject
Add another test case
Edit Graph
Add another problem
get JSON


'Comunicado oficial!' - Arsenal fans think a major Unai Emery announcement is imminent
Arsenal supporters believe the Spaniard's time is up
by Andy HaArsenal have started the process of identifying a long-term replacement for Unai Emery, according to reports.
The Gunners head coach is under huge pressure after a poor run of results, culminating in the abject 2-2 draw with Southampton on Saturday.
The result was Arsenal's fifth Premier League game without a win, and leaves the club eight points adrift of the top four.
Emery was given a vote of confidence by directors Raul Sanllehi and Vinai Venkatesham prior to the international break, but there is a growing feeling that the supporter backlash may be impossible to ignore.
football.london understands that Sanllehi and Venkatesham went into the Arsenal dressing room after the Saints stalemate on Saturday, with both men looking 'furious'.
According to The Mail , Gunners head of football Sanllehi and technical director Edu are keen on giving Emery several more games to turn things around, but some board members believe the Spaniard should be sacked.
Former Juventus manager Massimiliano Allegri, Manchester City assistant manager Mikel Arteta are both reportedly in the frame, as is former Spurs head coach Mauricio Pochettino.
But there is an acceptance that there is a remote chance of luring the Argentinian to the club so soon after his departure from Tottenham.
Some supporters at the Emirates, however, believe Emery's time is almost up and took to social media to urge the club to make the announcement.


Loading...
Zulian Ayra
Photographer
Home
About
Contact
Projects
Photographs
Cinemagraphs
Contact
<EMAIL_ADDRESS>+8(222)987654321
Follow us
Behance
Flickr
Instagram
Contact
Let's Talk
Mail
<EMAIL_ADDRESS>Phone
+8(222)987654321
Location
Based in Los Angeles, USA
Your Name
What's your Email?
Subject
Your message
Send Message


{EPC} = epc, {ANTID} = antenna id, {RSSI} = rssi, {SRSSI} = scaled rssi, {FREQ} = frequency, {URI} = the EPC Tag URI , \r = CR, \n = LF, \t = TAB.
Note that when using HTTP Post & application/json your format should include quotation marks for strings i.e. "{EPC}" or {"code":"{EPC}"}
If multipart/form-data is used, this defines the key for the Output value i.e. keyname={EPC} and so on
Tags are notified only when not seen in this time (seconds)
Rfid reader TX power attenuation
Output method to be used
Content-type to be sent(when Output type == HTTP Post)
If using HTTP Post & basic authentication required, add username here
If using HTTP Post & basic authentication required, add password here
IP-address or full path for HTTP post i.e. <IP_ADDRESS> or http://<IP_ADDRESS>/post/tags/here
TCP port to use when output type == TCP.


Top of the head.
Centre of the forehead, the 'Third eye'.
Point of the neck between shoulders and head.
Centre of the chest, back of the ribcage.
The chakra core, centred above and behind the navel.
Centred on the sacrum between the hips.
At the root of the spine, tailbone.


By default, atoms created during the execution of a program remain permanently in the system until Prolog exits. For the majority of applications this behavior is not a problem and can be ignored. However, for two classes of application this can present problems. Firstly the internal architecture of SICStus Prolog limits the number of atoms that be can created to 1,048,575 on 32-bit machines, and this can be a problem for database applications that read large numbers of atoms from a database. Secondly, the space occupied by atoms can become significant and dominate memory usage, which can be a problem for processes designed to run perpetually.
These problems can be overcome by using atom garbage collection to reclaim atoms that are no longer accessible to the executing program.
Atoms can be created in many ways: when an appropriate
token is read with read_term/3
, when source or PO files are loaded, when
atom_codes/2
is called with a character list, or
when SP_atom_from_string()
is called in C code.
In any of these contexts an atom is only
created if it does not already exist;
all atoms for a given string are given the same identification
number, which is different from the atom of any other string. Thus,
atom recognition and comparison can be done quickly, without having to
look at strings. An occurrence of an atom is
always of a fixed, small size, so where a given atom is likely to be used
in several places simultaneously the use of atoms can also be more
compact than the use of strings.
A Prolog functor is implemented like an atom, but also has an associated arity. For the purposes of atom garbage collection, a functor is considered to be an occurrence of the atom of that same name.
 The atom garbage collector scans
Prolog's data areas looking for atoms that are currently in use and
then throws away all unused atoms, reclaiming their space.
Atom garbage collection can turn an application that continually grows and eventually either runs into the atom number limit or runs out of space into one that can run perpetually. It can also make feasible applications that load and manipulate huge quantities of atom-rich data that would otherwise become full of useless atoms.


$def with (sensors, renderChart) $var title: Sensor Charts
Anomaly values are plotted on the secondary Y axis on the right. Door open/close values are either 0
or 1
. I don't understand the acceleration data yet. Data is coming from a SmartThings app. It is being send via HTTP to NuPIC running behind a REST API. Sensor values and HTM results are saved to a time-series database called InfluxDB.
You can also use the URL query parameters to declare how many data points you want to show in the graph(s) below. Just add ?limit=X
to the URL, or use the dropdown in the panel header above.


Help the department manage the profiles for the PAASCU.
Download professor's profile
{{prof.users.firstName + " " + prof.users.lastName}}


└
Score:
0
High Score:
0
Reset the board
Settings:
Speed:
Slow
Medium
Fast
Highlight Color:
Random
None
Custom
How to play:
Click on a tile to turn it 90° clockwise.
If a turned tile connects with a neighboring tile, the neighboring tile will turn 90° clockwise.
You earn one point for each time a tile is turned.


***************************************************************************************************
This method is giving default Service ,ResourceType
with Health and Alert status for Specified period and Generating JSON
with this method generateDefaultServiceResourcetypeJson()
This method is used to call dashBoardService.generateDefaultServiceAndResourceTypeJson()
for generating Default Service And ResourceType JSON for Chart
************************************************************************************************
This method is calling queryExecuter.generateDefaultServiceJson() for
generating default service and
queryExecuter.generateDefaultResourceTypeJson() for generating default
ResourceType JSON for Chart and then returning JSON String for creating
JSON Files
***************************************************************************************************
This method is giving default services
with Health and Alert status for Specified period and Generating JSON
with this method generateDefaultServiceResourcetypeJson()
**********************************************************************************************
Here We are Passing two map serviceMetricInfo and ticketInfo for combining into one Json
This method is used to call dashBoardService.generateDefaultServiceAndResourceTypeJson()
for generating Default Service And ResourceType JSON for Chart
**************************************************************************************************
This method is returning the JSON and sending this json to Generate Chart after
Combining Metric information and Ticket information by using LinkedHashMap
***************************************************************************************************
Here we are Executing both Ticket and Metric Query one by one because both having
different dataBase Connection and sending as LinkedHashMap
************************************************************************************************
This method is calling lineChartMetrics.generateLineChart() and then
returning JSON String for creating JSON Files for generating Chart
************************************************************************************************
This method is calling queryExecuter.collectMetricdata() for getting all
Metric Info, queryExecuter.collectTicketdata() for getting all Tiket Info
and GetAvailability.getAvailabilityByPeriod() for getting Availability
Information and then returning all these JSON String are combined and
creating JSON Files name MetricTypes.json
Case ::1 Get all the host Availability for a selected period time
Case ::2 If the availability is not found in a selected period of time it check for last
occurence of downtime Then calculate percent of availability
Case ::3 If downtime not found then it checks for the last occurence of the uptime.
***************************************************************************************************
This method is returning the String of all Default values like Status,Assignee
that having no data but we have to show while generating chart
************************************************************************************************
This method is for getting metric type that is same as in DataBase.


|
iRobot Roomba 500 Series SDK
1.0.0-alpha
A C++ wrapper for the iRobot Roomba 500 Series Open Interface (OI) Specification.
|
The Roomba Open Interface (OI) OICommand static class. More...
#include <OICommand.h>
Classes | |
| struct | clock_time_t |
| Time representation for the scheduling methods. More... | |
Public Types | |
| enum | ReturnCode : int8_t { SERIAL_TRANSFER_FAILURE = -100, INVALID_PARAMETER = -10, INVALID_MODE_FOR_REQUESTED_OPERATION = -2, OI_NOT_STARTED = -1, SUCCESS = 0 } |
| Return codes. | |
| typedef std::pair< Pitch, uint8_t > | note_t |
| A musical note is defined by the frequency related pitch and length or duration. More... | |
Public Member Functions | |
| ReturnCode | operator() (const std::vector< uint8_t > &raw_instructions_, const OIMode resulting_mode_=static_cast< OIMode >(-1), const BaudCode resulting_baud_=static_cast< BaudCode >(-1)) |
| Direct access to the Open Interface. More... | |
| OICommand::ReturnCode | connectToSerialBus (const std::function< size_t(const uint8_t *, const size_t)> fnSerialWrite_, const BaudCode baud_code_=BAUD_115200) |
| Establishes a serial channel with the hardware. More... | |
| void | end (void) const |
| Releases control of the Roomba. More... | |
| ReturnCode | start (void) |
| Starts the OI. More... | |
| ReturnCode | baud (const BaudCode baud_code_) |
| Sets the baud rate in bits per second (bps). More... | |
| ReturnCode | control (void) |
| The effect and usage of the Control command are identical to the Safe command. More... | |
| ReturnCode | safe (void) |
| Puts the OI into Safe mode. More... | |
| ReturnCode | full (void) |
| Puts the OI into Full mode. More... | |
| ReturnCode | clean (void) |
| Starts the default cleaning mode. More... | |
| ReturnCode | max (void) |
| Starts the Max cleaning mode. More... | |
| ReturnCode | spot (void) |
| Starts the Spot cleaning mode. More... | |
| ReturnCode | seekDock (void) |
| Sends Roomba to the dock. More... | |
| ReturnCode | schedule (const bitmask::Days day_mask_, const clock_time_t *const clock_times_) const |
| Sends Roomba a new schedule. More... | |
| ReturnCode | setDayTime (const Day day_, const clock_time_t clock_time_) const |
| Sets Roomba’s clock. More... | |
| ReturnCode | power (void) |
| Powers down Roomba. More... | |
| ReturnCode | drive (const int16_t velocity_, const int16_t radius_) const |
| Controls Roomba’s drive wheels. More... | |
| ReturnCode | driveDirect (const int16_t left_wheel_velocity_, const int16_t right_wheel_velocity_) const |
| Controls the forward and backward motion of Roomba’s drive wheels independently. More... | |
| ReturnCode | drivePWM (const int16_t left_wheel_pwm_, const int16_t right_wheel_pwm_) const |
| Controls the raw forward and backward motion of Roomba’s drive wheels independently. More... | |
| ReturnCode | motors (const bitmask::MotorStates motor_state_mask_) const |
| Controls the forward and backward motion of Roomba’s main brush, side brush, and vacuum independently. More... | |
| ReturnCode | pwmMotors (const int8_t main_brush_, const int8_t side_brush_, const int8_t vacuum_) const |
| Controls the speed of Roomba’s main brush, side brush, and vacuum independently. More... | |
| ReturnCode | leds (const bitmask::display::LEDs led_mask_, const uint8_t color_, const uint8_t intensity_) const |
| Controls the LEDs. More... | |
| ReturnCode | schedulingLEDs (const bitmask::Days day_mask_, const bitmask::display::SchedulingLEDs led_mask_) const |
| Controls the state of the scheduling LEDs present on the Roomba 560 and 570. More... | |
| ReturnCode | digitLEDsRaw (const bitmask::display::DigitN raw_leds_[4]) const |
| Controls the 7 segment displays. More... | |
| ReturnCode | digitLEDsASCII (const char ascii_leds_[4]) const |
| Controls the 7 segment displays using ASCII character codes. More... | |
| ReturnCode | buttons (const bitmask::Buttons button_mask_) const |
| Push Roomba’s buttons. More... | |
| ReturnCode | song (const uint8_t song_number_, const std::vector< note_t > &song_) const |
| Specify songs to be played at a later time. More... | |
| ReturnCode | play (const uint8_t song_number_) const |
| Select a song to play. More... | |
| ReturnCode | sensors (const sensors::PacketId packet_id_) const |
| Request sensor data. More... | |
| ReturnCode | queryList (const std::vector< sensors::PacketId > &sensor_list_) const |
| Request list of sensor packets. More... | |
| ReturnCode | stream (const std::vector< sensors::PacketId > &sensor_list_) const |
| Start a data stream based on a query list. More... | |
| ReturnCode | pauseResumeStream (const bool resume_) const |
| Stop and restart the stream. More... | |
Protected Member Functions | |
| ReturnCode | pollSensors (const command::OpCode opcode_, const std::vector< sensors::PacketId > &sensor_list_) const |
| Core functionality of both queryList() and stream() More... | |
Protected Attributes | |
| std::function< size_t(const uint8_t *, const size_t)> | _fnSerialWrite |
| A function supplying multi-byte write access to the serial bus. More... | |
| OIMode | _oi_mode |
| The operating mode of the Open Interface. More... | |
| BaudCode | _baud_code |
| The baud rate associated with the serial bus. More... | |
The Roomba Open Interface (OI) OICommand static class.
The Roomba Open Interface (OI) OICommand is a C++ wrapper for data to be written the serial bus. It provides functionality such as request throttling with respect to baud rate, ensuring full parameter sets are delivered to the underlying serial interface, as well as offering error codes without crashing the system.
| typedef std::pair<Pitch, uint8_t> roomba::series500::oi::OICommand::note_t |
A musical note is defined by the frequency related pitch and length or duration.
The information is stored in std::pair data structure where the first member represents the pitch and the second represent a scalar to apply to 1/64th of a second (i.e. the value 32 is half a second).
| OICommand::ReturnCode roomba::series500::oi::OICommand::baud | ( | const BaudCode | baud_code_ | ) |
Sets the baud rate in bits per second (bps).
This command sets the baud rate in bits per second (bps) at which OI commands and data are sent according to the baud code sent in the data byte.
| [in] | baud_code_ |
| SUCCESS | |
| INVALID_PARAMETER | |
| OI_NOT_STARTED | |
| SERIAL_TRANSFER_FAILURE |
| OICommand::ReturnCode roomba::series500::oi::OICommand::buttons | ( | const bitmask::Buttons | button_mask_ | ) | const |
Push Roomba’s buttons.
This command lets you push Roomba’s buttons.
| [in] | button_mask_ |
| SUCCESS | |
| OI_NOT_STARTED | |
| SERIAL_TRANSFER_FAILURE |
| OICommand::ReturnCode roomba::series500::oi::OICommand::clean | ( | void | ) |
Starts the default cleaning mode.
| SUCCESS | |
| OI_NOT_STARTED | |
| SERIAL_TRANSFER_FAILURE |
| OICommand::ReturnCode roomba::series500::oi::OICommand::connectToSerialBus | ( | const std::function< size_t(const uint8_t *, const size_t)> | fnSerialWrite_, |
| const BaudCode | baud_code_ = BAUD_115200 |
||
| ) |
Establishes a serial channel with the hardware.
This method must be called before any other methods of this class. It establishes a serial channel between the Open Interface class and the underlying hardware. The default baud for communicating with the Roomba outside the Open Interface is 115200, if the external microcontroller is unable to communicate at that speed, an alternative baud, 19200, is available. To enable the slower baud on the Roomba you must power-on the Roomba by holding down the clean/power button, or the Roomba can be signaled on the baud rate change line.
| [in] | fnSerialWrite_ | A function that writes to the serial bus at either 115200 or 19200 baud. |
| [in] | [baud_code_] | The baud rate at which the specified serial function will write to the serial bus (default value: BAUD_115200). Non-variable Configuration:
|
| SUCCESS | |
| INVALID_PARAMETER |
| OICommand::ReturnCode roomba::series500::oi::OICommand::control | ( | void | ) |
The effect and usage of the Control command are identical to the Safe command.
| OICommand::ReturnCode roomba::series500::oi::OICommand::digitLEDsASCII | ( | const char | ascii_leds_[4] | ) | const |
Controls the 7 segment displays using ASCII character codes.
This command controls the four 7 segment displays on the Roomba 560 and 570 using ASCII character codes. Because a 7 segment display is not sufficient to display alphabetic characters properly, all characters are an approximation
| [in] | ascii_leds_ | An ASCII char array (valid values range from (32-126). |
| SUCCESS | |
| OI_NOT_STARTED | |
| INVALID_MODE_FOR_REQUESTED_OPERATION | |
| INVALID_PARAMETER | |
| SERIAL_TRANSFER_FAILURE |
| OICommand::ReturnCode roomba::series500::oi::OICommand::digitLEDsRaw | ( | const bitmask::display::DigitN | raw_leds_[4] | ) | const |
Controls the 7 segment displays.
This command controls the four 7 segment displays on the Roomba 560 and 570.
| [in] | raw_leds_ | An array representing the four 7 segment display values. |
| SUCCESS | |
| OI_NOT_STARTED | |
| INVALID_MODE_FOR_REQUESTED_OPERATION | |
| SERIAL_TRANSFER_FAILURE |
| OICommand::ReturnCode roomba::series500::oi::OICommand::drive | ( | const int16_t | velocity_, |
| const int16_t | radius_ | ||
| ) | const |
Controls Roomba’s drive wheels.
This command controls Roomba’s drive wheels. A Drive command with a positive velocity and a positive radius makes Roomba drive forward while turning toward the left. A negative radius makes Roomba turn toward the right. Special cases for the radius make Roomba turn in place or drive straight, as specified below. A negative velocity makes Roomba drive backward.
| [in] | velocity_ | (-500 – 500) The average velocity of the drive wheels in millimeters per second (mm/s). |
| [in] | radius_ | (-2000 – 2000) The radius in millimeters at which Roomba will turn. The radius is measured from the center of the turning circle to the center of Roomba. |
| SUCCESS | |
| OI_NOT_STARTED | |
| INVALID__MODE__FOR_REQUESTED_OPERATION | |
| INVALID_PARAMETER | |
| SERIAL_TRANSFER_FAILURE |
| OICommand::ReturnCode roomba::series500::oi::OICommand::driveDirect | ( | const int16_t | left_wheel_velocity_, |
| const int16_t | right_wheel_velocity_ | ||
| ) | const |
Controls the forward and backward motion of Roomba’s drive wheels independently.
This command lets you control the forward and backward motion of Roomba’s drive wheels independently. A positive velocity makes that wheel drive forward, while a negative velocity makes it drive backward.
| [in] | left_wheel_velocity_ | (-500 – 500) The velocity of the left wheel in millimeters per second (mm/s). |
| [in] | right_wheel_velocity_ | (-500 – 500) The velocity of the right wheel in millimeters per second (mm/s). |
| SUCCESS | |
| OI_NOT_STARTED | |
| INVALID_MODE_FOR_REQUESTED_OPERATION | |
| INVALID_PARAMETER | |
| SERIAL_TRANSFER_FAILURE |
| OICommand::ReturnCode roomba::series500::oi::OICommand::drivePWM | ( | const int16_t | left_wheel_pwm_, |
| const int16_t | right_wheel_pwm_ | ||
| ) | const |
Controls the raw forward and backward motion of Roomba’s drive wheels independently.
This command lets you control the raw forward and backward motion of Roomba’s drive wheels independently. A positive PWM makes that wheel drive forward, while a negative PWM makes it drive backward.
| [in] | left_wheel_pwm_ | (-255 – 255) The PWM of the left wheel. |
| [in] | right_wheel_pwm_ | (-255 – 255) The PWM of the right wheel. |
| SUCCESS | |
| OI_NOT_STARTED | |
| INVALID_MODE_FOR_REQUESTED_OPERATION | |
| INVALID_PARAMETER | |
| SERIAL_TRANSFER_FAILURE |
| void roomba::series500::oi::OICommand::end | ( | void | ) | const |
Releases control of the Roomba.
This method will set the OI Mode to passive and return the Roomba to its docking station. It will also reinitialize the class member variables to restore it to a clean state.
| OICommand::ReturnCode roomba::series500::oi::OICommand::full | ( | void | ) |
Puts the OI into Full mode.
This command gives you complete control over Roomba by putting the OI into Full mode, and turning off the cliff, wheel-drop and internal charger safety features.
| SUCCESS | |
| OI_NOT_STARTED | |
| SERIAL_TRANSFER_FAILURE |
| OICommand::ReturnCode roomba::series500::oi::OICommand::leds | ( | const bitmask::display::LEDs | led_mask_, |
| const uint8_t | color_, | ||
| const uint8_t | intensity_ | ||
| ) | const |
Controls the LEDs.
This command controls the LEDs common to all models of Roomba 500. Clean/Power uses a bicolor (red/green) LED. The intensity and color of this LED can be controlled with 8-bit resolution.
| [in] | led_mask_ | |
| [in] | color_ | 0 = green, 255 = red. Intermediate values are intermediate colors (orange, yellow, etc). |
| [in] | intensity_ | 0 = off, 255 = full intensity. Intermediate values are intermediate intensities. |
| SUCCESS | |
| OI_NOT_STARTED | |
| INVALID_MODE_FOR_REQUESTED_OPERATION | |
| SERIAL_TRANSFER_FAILURE |
| OICommand::ReturnCode roomba::series500::oi::OICommand::max | ( | void | ) |
Starts the Max cleaning mode.
| SUCCESS | |
| OI_NOT_STARTED | |
| SERIAL_TRANSFER_FAILURE |
| OICommand::ReturnCode roomba::series500::oi::OICommand::motors | ( | const bitmask::MotorStates | motor_state_mask_ | ) | const |
Controls the forward and backward motion of Roomba’s main brush, side brush, and vacuum independently.
This command lets you control the forward and backward motion of Roomba’s main brush, side brush, and vacuum independently. Motor velocity cannot be controlled with this command, all motors will run at maximum speed when enabled. The main brush and side brush can be run in either direction. The vacuum only runs forward.
| [in] | motor_state_mask_ |
| SUCCESS | |
| OI_NOT_STARTED | |
| INVALID_MODE_FOR_REQUESTED_OPERATION | |
| SERIAL_TRANSFER_FAILURE |
| OICommand::ReturnCode roomba::series500::oi::OICommand::operator() | ( | const std::vector< uint8_t > & | raw_instructions_, |
| const OIMode | resulting_mode_ = static_cast<OIMode>(-1) , |
||
| const BaudCode | resulting_baud_ = static_cast<BaudCode>(-1) |
||
| ) |
Direct access to the Open Interface.
Direct access sends bytes directly to the Open Interface. Direct access is potentially dangerous, because the parameters are not checked and the device can be left in a "waiting" state.
| [in] | raw_instructions_ | A stream of bytes guaranteed to be a valid command chain by the caller. |
| [in] | resulting_baud_ | The baud rate the Roomba will be using after the execution of the byte stream provided in the data_ parameter. |
| [in] | [resulting_mode_] | The OI mode the Roomba will be left in after the execution of the byte stream provided in the data_ parameter. |
| SUCCESS | |
| SERIAL_TRANSFER_FAILURE |
| OICommand::ReturnCode roomba::series500::oi::OICommand::pauseResumeStream | ( | const bool | resume_ | ) | const |
Stop and restart the stream.
This command lets you stop and restart the steam without clearing the list of requested packets.
| [in] | resume_ | An argument of false stops the stream without clearing the list of requested packets. An argument of true starts the stream using the list of packets last requested. |
| SUCCESS | |
| OI_NOT_STARTED | |
| SERIAL_TRANSFER_FAILURE |
| OICommand::ReturnCode roomba::series500::oi::OICommand::play | ( | const uint8_t | song_number_ | ) | const |
Select a song to play.
This command lets you select a song to play from the songs added to Roomba using the Song command. You must add one or more songs to Roomba using the Song command in order for the Play command to work.
| [in] | song_number_ | (0-4) The number of the song Roomba is to play. |
| SUCCESS | |
| OI_NOT_STARTED | |
| INVALID_MODE_FOR_REQUESTED_OPERATION | |
| INVALID_PARAMETER | |
| SERIAL_TRANSFER_FAILURE |
|
protected |
Core functionality of both queryList() and stream()
Both queryList() and stream() have identical implementations. The only difference is the original Open Interface opcode, which tells the the Roomba to send the data once or until asked not to.
| [in] | opcode_ | Send either QUERY_LIST or STREAM |
| [in] | sensor_list_ | A vector of packet ids |
| SUCCESS | |
| OI_NOT_STARTED | |
| INVALID_PARAMETER | |
| SERIAL_TRANSFER_FAILURE |
| OICommand::ReturnCode roomba::series500::oi::OICommand::power | ( | void | ) |
Powers down Roomba.
This command powers down Roomba. The OI can be in Passive, Safe, or Full mode to accept this command.
| SUCCESS | |
| OI_NOT_STARTED | |
| SERIAL_TRANSFER_FAILURE |
| OICommand::ReturnCode roomba::series500::oi::OICommand::pwmMotors | ( | const int8_t | main_brush_, |
| const int8_t | side_brush_, | ||
| const int8_t | vacuum_ | ||
| ) | const |
Controls the speed of Roomba’s main brush, side brush, and vacuum independently.
This command lets you control the speed of Roomba’s main brush, side brush, and vacuum independently. With each parameter, you specify the duty cycle for the low side driver (max 127). Positive speeds turn the motor in its default (cleaning) direction. For example, if you want to control a motor with 25% of battery voltage, choose a duty cycle of 127 * 25% ~ 32.
| [in] | main_brush_ | (-127 – 127) |
| [in] | side_brush_ | (-127 – 127) |
| [in] | vacuum_ | (0 – 127) |
| SUCCESS | |
| OI_NOT_STARTED | |
| INVALID_MODE_FOR_REQUESTED_OPERATION | |
| INVALID_PARAMETER | |
| SERIAL_TRANSFER_FAILURE |
| OICommand::ReturnCode roomba::series500::oi::OICommand::queryList | ( | const std::vector< sensors::PacketId > & | sensor_list_ | ) | const |
Request list of sensor packets.
This command lets you ask for a list of sensor packets. The result is returned once, as in the Sensors command. The robot returns the packets in the order you specify.
| [in] | sensor_list_ | A vector of packet ids |
| SUCCESS | |
| OI_NOT_STARTED | |
| INVALID_PARAMETER | |
| SERIAL_TRANSFER_FAILURE |
| OICommand::ReturnCode roomba::series500::oi::OICommand::safe | ( | void | ) |
Puts the OI into Safe mode.
This command puts the OI into Safe mode, enabling user control of Roomba. It turns off all LEDs. The OI can be in Passive, Safe, or Full mode to accept this command.
| SUCCESS | |
| OI_NOT_STARTED | |
| SERIAL_TRANSFER_FAILURE |
| OICommand::ReturnCode roomba::series500::oi::OICommand::schedule | ( | const bitmask::Days | day_mask_, |
| const clock_time_t *const | clock_times_ | ||
| ) | const |
Sends Roomba a new schedule.
This command sends Roomba a new schedule. To disable scheduled cleaning, send all 0s.
| [in] | day_mask_ | A bitmask representing the days of the week |
| [in] | clock_times_ | A sparse array of clock_time_t variables following { Sun time, Mon time, ..., Sat time }. |
| SUCCESS | |
| OI_NOT_STARTED | |
| SERIAL_TRANSFER_FAILURE |
| OICommand::ReturnCode roomba::series500::oi::OICommand::schedulingLEDs | ( | const bitmask::Days | day_mask_, |
| const bitmask::display::SchedulingLEDs | led_mask_ | ||
| ) | const |
Controls the state of the scheduling LEDs present on the Roomba 560 and 570.
| [in] | day_mask_ | |
| [in] | led_mask_ |
| SUCCESS | |
| OI_NOT_STARTED | |
| INVALID_MODE_FOR_REQUESTED_OPERATION | |
| SERIAL_TRANSFER_FAILURE |
| OICommand::ReturnCode roomba::series500::oi::OICommand::seekDock | ( | void | ) |
Sends Roomba to the dock.
| SUCCESS | |
| OI_NOT_STARTED | |
| SERIAL_TRANSFER_FAILURE |
| OICommand::ReturnCode roomba::series500::oi::OICommand::sensors | ( | const sensors::PacketId | packet_id_ | ) | const |
Request sensor data.
This command requests the OI to send a packet of sensor data bytes. There are 58 different sensor data packets. Each provides a value of a specific sensor or group of sensors.
| [in] | packet_id_ | Identifies which of the 58 sensor data packets should be sent back by the OI. |
| SUCCESS | |
| OI_NOT_STARTED | |
| INVALID_PARAMETER | |
| SERIAL_TRANSFER_FAILURE |
| OICommand::ReturnCode roomba::series500::oi::OICommand::setDayTime | ( | const Day | day_, |
| const clock_time_t | clock_time_ | ||
| ) | const |
Sets Roomba’s clock.
| [in] | day_ | |
| [in] | clock_time_ | (hour [0-23] and minute [0-59]) |
| SUCCESS | |
| OI_NOT_STARTED | |
| INVALID_PARAMETER | |
| SERIAL_TRANSFER_FAILURE |
| OICommand::ReturnCode roomba::series500::oi::OICommand::song | ( | const uint8_t | song_number_, |
| const std::vector< note_t > & | song_ | ||
| ) | const |
Specify songs to be played at a later time.
This command lets you specify up to four songs to the OI that you can play at a later time. Each song is associated with a song number. The Play command uses the song number to identify your song selection. Each song can contain up to sixteen notes. Each note is associated with a note number that uses MIDI note definitions and a duration that is specified in increments of 1/64th of a second.
| [in] | song_number_ | (0-4) The song number associated with the specific song. |
| [in] | song_ | A vector of std::pairs composed of Note and duration. |
| SUCCESS | |
| OI_NOT_STARTED | |
| INVALID_PARAMETER | |
| SERIAL_TRANSFER_FAILURE |
| OICommand::ReturnCode roomba::series500::oi::OICommand::spot | ( | void | ) |
Starts the Spot cleaning mode.
| SUCCESS | |
| OI_NOT_STARTED | |
| SERIAL_TRANSFER_FAILURE |
| OICommand::ReturnCode roomba::series500::oi::OICommand::start | ( | void | ) |
Starts the OI.
You must always send the Start command before sending any other commands to the OI.
| SUCCESS | |
| SERIAL_TRANSFER_FAILURE |
| OICommand::ReturnCode roomba::series500::oi::OICommand::stream | ( | const std::vector< sensors::PacketId > & | sensor_list_ | ) | const |
Start a data stream based on a query list.
This command starts a stream of data packets. The list of packets requested is sent every 15 ms, which is the rate Roomba uses to update data.
| [in] | sensor_list_ | A vector of packet ids |
| SUCCESS | |
| OI_NOT_STARTED | |
| INVALID_PARAMETER | |
| SERIAL_TRANSFER_FAILURE |
|
protected |
The baud rate associated with the serial bus.
This variable is used to calculate buffer overrun protection.
|
protected |
A function supplying multi-byte write access to the serial bus.
This function is provided from the call to connectToSerialBus() after class has been instantiated.
|
protected |
The operating mode of the Open Interface.
This variable is used to track the current operating mode of the open interface (i.e. Off, Passive, Safe, Full)


Returning customer? Click here to login
Country* Select a country… Åland Islands Afghanistan Albania Algeria Andorra Angola Anguilla Antarctica Antigua and Barbuda Argentina Armenia Aruba Australia Austria Azerbaijan Bahamas Bahrain Bangladesh Barbados Belarus Belau Belgium Belize Benin Bermuda Bhutan Bolivia Bonaire, Saint Eustatius and Saba Bosnia and Herzegovina Botswana Bouvet Island Brazil British Indian Ocean Territory British Virgin Islands Brunei Bulgaria Burkina Faso Burundi Cambodia Cameroon Canada Cape Verde Cayman Islands Central African Republic Chad Chile China Christmas Island Cocos (Keeling) Islands Colombia Comoros Congo (Brazzaville) Congo (Kinshasa) Cook Islands Costa Rica Croatia Cuba CuraÇao Cyprus Czech Republic Denmark Djibouti Dominica Dominican Republic Ecuador Egypt El Salvador Equatorial Guinea Eritrea Estonia Ethiopia Falkland Islands Faroe Islands Fiji Finland France French Guiana French Polynesia French Southern Territories Gabon Gambia Georgia Germany Ghana Gibraltar Greece Greenland Grenada Guadeloupe Guatemala Guernsey Guinea Guinea-Bissau Guyana Haiti Heard Island and McDonald Islands Honduras Hong Kong Hungary Iceland India Indonesia Iran Iraq Isle of Man Israel Italy Ivory Coast Jamaica Japan Jersey Jordan Kazakhstan Kenya Kiribati Kuwait Kyrgyzstan Laos Latvia Lebanon Lesotho Liberia Libya Liechtenstein Lithuania Luxembourg Macao S.A.R., China Macedonia Madagascar Malawi Malaysia Maldives Mali Malta Marshall Islands Martinique Mauritania Mauritius Mayotte Mexico Micronesia Moldova Monaco Mongolia Montenegro Montserrat Morocco Mozambique Myanmar Namibia Nauru Nepal Netherlands Netherlands Antilles New Caledonia New Zealand Nicaragua Niger Nigeria Niue Norfolk Island North Korea Norway Oman Pakistan Palestinian Territory Panama Papua New Guinea Paraguay Peru Philippines Pitcairn Poland Portugal Qatar Republic of Ireland Reunion Romania Russia Rwanda São Tomé and Príncipe Saint Barthélemy Saint Helena Saint Kitts and Nevis Saint Lucia Saint Martin (Dutch part) Saint Martin (French part) Saint Pierre and Miquelon Saint Vincent and the Grenadines San Marino Saudi Arabia Senegal Serbia Seychelles Sierra Leone Singapore Slovakia Slovenia Solomon Islands Somalia South Africa South Georgia/Sandwich Islands South Korea South Sudan Spain Sri Lanka Sudan Suriname Svalbard and Jan Mayen Swaziland Sweden Switzerland Syria Taiwan Tajikistan Tanzania Thailand Timor-Leste Togo Tokelau Tonga Trinidad and Tobago Tunisia Turkey Turkmenistan Turks and Caicos Islands Tuvalu Uganda Ukraine United Arab Emirates United Kingdom (UK) United States (US) Uruguay Uzbekistan Vanuatu Vatican Venezuela Vietnam Wallis and Futuna Western Sahara Western Samoa Yemen Zambia Zimbabwe
First Name*
Last Name*
Company Name
Address*
Town / City*
State / County*
Postcode / Zip*
Email Address*
Phone*
Order Notes
Have a coupon? Click here to enter your code
Make your payment directly into our bank account. Please use your Order ID as the payment reference. Your order won’t be shipped until have account.
Please send your cheque to Store Name, Store Street, Store Town, Store State / County, Store Postcode.
Pay via PayPal; you can pay with your credit card if you don’t have a PayPal account.
No account yet? Register now
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor.


---
layout: post
title: 3/11
date: '2013-03-11T23:26:00.002-06:00'
author: Jacob .
tags:
modified_time: '2013-03-11T23:26:29.522-06:00'
blogger_id: tag:blogger.com,1999:blog-6400085873105072120.post-1889603351213955497
blogger_orig_url: http://www.svlark.com/2013/03/311.html
---
We got the kitchen all put back together, mostly. Hopefully tomorrow I'll get the time to post pics and check off all the items we completed during Len's stay.
234.6


Account Login enables registered users to log in to a site using their login credentials. If registration is enabled on the site a Register link enables visitors to join as registered user of the site. Account Login can be enabled to help with forgotten passwords. Account Login can be deployed to any page and is automatically displayed on the default User Log In page.
Important. For information on logging in and logging out using the Account Login module,
Account Login
Skin Token: The [LOGIN] skin token displays the Login link that opens the User Log In page. The login link is located in the top right corner of the default DNN skin.
The Login link displayed on site page


--- layout: default title: "404: Page not found." exclude_from_navigation: true ---
Sorry, we've misplaced the resource you were looking for.


Shipit
Send A New Package
Packages
Reports
Subscriptions
Profile
Statistics
Top Senders
Percentage Distribution
Logout
Search
Send a Package
Choose a receiver...
Choose the payment side...
Sender
Choose a departure branch...
Choose a delivery type...
normal
fast
super fast
Choose a package type...
lightweight
medium
heavy
Cost
0
Send Package!


If this option is checked, the classes from the package
com.intellij.uiDesigner.core
package are
copied to the configured output directory, when the project is compiled. These classes are used when working with
the GridLayoutManager(IntelliJ), or when there are components with mnemonics, specified by the
&
character.


one
two
three
Logo
Sass
Components
Dropdown
Sass
Components
Data 1
Data 2
Data 3
Data 4
Drop Me!
one
two
three


appobj <name>
The
appobj
field indicates the name of the application object. All geodes with
appl
set under
type
(see above) must have an
appobj
entry. The
name
argument should be the name of the object of
GenApplicationClass
specified in the application's
.goc
file.
class <name>
The
class
field specifies the name of the object class to be bound to the geode's process thread. This field has significance only if
process
is specified in the geode's
type
field (see below). This should be the same as the
ProcessClass
object designated in the
.goc
file (see the Hello World sample for an example of this connection). Note that this class binding will only be for the geode's first (primary) thread.
driver <name> [noload]
This field specifies another driver that is used by this geode. The
noload
flag indicates that the used driver does not need to be loaded when the geode is first launched. Most applications and libraries will not use exported routines from drivers, so few geodes will use this field. (Notable exceptions are those geodes that access serial and parallel ports--those geodes will include the serial or parallel driver.)
ifdef <VARIABLE> <glue statements> else <other glue statements> endif
The
else
statement is part of Glue's conditional linking support. If the variable named in the
ifdef
statement is false, then any commands between an
else
and an
endif
will be used when linking.
ifdef <VARIABLE> <glue statements> else <other glue statements> endif
The
endif
statement is part of Glue's conditional linking support. The endif keyword signals the end of the conditional commands which were begun with a previous
ifdef
command.
entry <name>
This field is used by library geodes. The
name
argument is the name of the library routine to be called by the kernel when the library is loaded or unloaded and when a program using the library is loaded or unloaded.
exempt <library-name>
If you wish to exempt a certain library from Glue's platform checking, call it out with the exempt keyword. Glue will not complain if you then use parts of the library not normally available with platforms named in your
platform
statement.
export <name> [as <name2>]
This field identifies routines usable by geodes other than the one being compiled; these routines are "exported" for use by other programs. Both forms create entry point symbols for the routines. The first
name
argument must be the actual name of the routine. If the second, optional,
name2
argument is included, then other programs will call that routine using the second name rather than the original. This allows a routine to have a different global name than that used by its creator geode.
This field is also used to export classes defined in a .goc or .goh file. See the Benoit sample application for an example.
heapspace <space>
Specify the memory requirements for the geode--how much space it requires on the heap. This parameter is required for geodes to run efficiently on certain platforms, such as the Casio Z-7000. To find out what number to enter in this field, run your geode on the device in question with Swat attached. Use the "heapspace" Swat command to find out how much memory your geode requires. For more information about the "heapspace" Swat command, see its entry in the Swat commands reference section of the Tools manual.
The space may be specified in paragraphs, or in k of memory:
heapspace 250 heapspace 4k
ifdef <VARIABLE> <glue statements> endif
ifdef <VARIABLE> <glue statements> else <other glue statements> endif
The
ifdef
keyword is used to implement conditional linking. If the named VARIABLE is defined (via the -D command line argument to Glue--see the Using Tools chapter
to find out how), then the commands between the
ifdef
and the next
else
or
endif
command will be used when linking. Otherwise, they will be ignored. If the VARIABLE is not defined, then any commands appearing between the optional
else
keyword and the
endif
keyword will be used.
It is possible to nest these statements:
ifdef FOO ifdef BAR library foobar else library fooonly endif else ifdef BAR library baronly else library nada
endif
endif
incminor [<name>]
The
incminor
directive is used at the end of a library's
.gp
file before new routines are added (after a release of the library has already been made). After this release, new
export
and
publish
directives will be put after this incminor directive. The
incminor
directive causes two things: First, the geode's minor protocol number gets incremented by one. Second, any geode that uses your library will depend only on the higher minor protocol number if it actually uses one or more of the entry points exported after the
incminor
directive.
Any number of incminor directives may be used in a given .gp file. The major and the base minor numbers still come from a .rev file, if one exists.
The name argument is optional; it may be used in conjunction with the protominor compiler directive. Glue will know that the structures marked with the protominor label should be associated with the revision represented by the incminor directive.
library <name> [noload]
This field specifies another library that is used by this geode. The
noload
flag indicates that the used library does not need to be loaded when the geode is first launched (though symbolic information will be loaded in any case). Note that every geode must have the line
library geos
included in the .gp file. Most will also have the following line:
library ui
Any number of used libraries may be specified.
load <name> ["<class>"] as [<name2>] [<align>] [<combine>]\ ["<class2>"]
The
load
field is used when you want to alter the way a segment is linked for your geode. This is especially useful, for example, when integrating another company's runtime routines into your application or library; their segments may correspond to specifications other than yours.
Every segment read in has a given name, class, alignment, and combination type. These are described below (the
load
parameters appear after):
combine
parameter specifies how these segments are to be combined when loaded. The combine type may be one of the following (see your assembly reference manual for more information):
COMMON, PRIVATE, PUBLIC, STACK, or RESOURCE.The parameters for load are listed below. Only the first is necessary, to inform Glue which segment is to undergo the alterations. For an example of using the load statement, see below.
Examples:
load _NAME_ "CODE" as CODE word public
load _NAME_ "CODE" as DATASEG para common "DATA"
longname "<string>"
The
longname
field designates a 32-character name for the geode. This name will be displayed with the geode's icon by GeoManager; all geodes should be given a long name.
name <pname>.<ext>
The
name
field in the parameters file gives the geode a permanent name which will be used by both the Glue linker and the Swat debugger. Every geode must have a permanent name. Note that the
pname
argument must be no more than eight characters, and the
ext
argument must be no more than four. Additionally, the
ext
argument may not be "appl," as that is reserved.
When Glue is linking an error-checking geode, it drops the fourth character of
ext
and adds "ec" to the end of
pname
.
nosort
This keyword should appear before the list of resources. Normally glue will sort the geode's resources to optimize their arrangement. This keyword turns off that sorting. If you will generate .GYM (generic symbol) files for your geode, you should use the nosort option, as it will be important that all versions of your geode order their resources in the same way. If you won't generate .GYM files, you probably don't want to use this option.
platform <name>
The platform directive specifies that the Geode is compatible with the named system. This gives a sign of how backwards-compatible the application is. If multiple platforms are specified, Glue will make sure that the major protocol numbers for each of the libraries it finds within the platforms match. Having done that, it will use the smallest minor protocol number it can find for each library to ensure compatibility across all platforms.
If a reference is ever made to an entry point in a library that would cause the executable to depend upon a later version of the library than specified in the platform file, glue will complain. For example, if the specified platoform used GrObj version 534.1 and glue found a reference to an entry point that didn't exist until GrObj 534.3 (ie., an entry point exported following 3 'incminor's in grobj.gp), glue will spit out an error message like:
error: file "somegeode.gp", line 59: Usage of NewGrObjRoutine requires grobj minor protocol 3, but platform files only allow minor protocol 1
If the new routine happens to be a "published" routine, glue will copy it into the geode in an effort to avoid the error.
Common platforms include:
For a list of all predefined platforms, go to the the Include directory of your SDK installation and list all *.PLT files.
publish <name>
Normally, if a geode is required to run (via platform specifications) with a version of a library that doesn't contain one of the entry points required by the geode, glue will notify the user of the inconsistency, and the link will fail. However, if that entry point happens to be a published routine, glue will actually copy the routine into the geode and switch the call over to the newly copied routine to remove the dependency on the library routine. Glue does this by copying any routines marked "publish" in a library's .gp file into the .ldf file, then copying them out into whatever other geodes needs when those geodes are linked. Routines are marked "publish" by replacing the word "export" with the word "publish" in the .gp file, like so:
publish PublishedRoutinei
The published routines appear in .ldf files in individual segments named after the routine (e.g. _PUBLISHED_PublishedRoutine), each containing a routine, also named after the published routine (e.g., _PUBLISHED__PUBLISHED_PublishedRoutine) You'll know one of these routines has been linked into your geode by examining the resource summary output by glue:
Resource Size # Relocs ------------------------------------------------- CoreBlock 0 0 dgroup 240 8 _PUBLISHED_GROBJCALCCORNERS 53 1 _PUBLISHED_GROBJBODYPROCESSALLGR 94 2 TEST2_E 478 27 INTERFACE 652 1 CHANGETEXTDIALOG 232 1 APPRESOURCE 416 1
resource <name> (read-only|preload|discardable|fixed|conforming|shared|\ code|data|lmem|discard-only|swap-only|ui-object|object|\ no-swap|no-discard)+
code
and
shared
without
read-only
.)
read-only
and not fixed, it is assumed to be discardable.
data
(above), though not the condition pertaining to being discardable.
lmem
,
shared
, and
no-discard
. All blocks for a geode designated
ui-object
will be run in a UI thread created specifically for the geode's UI objects.
lmem
and
no-discard
.
Because most resources are code resources, standard code does not have to be declared in the parameters file. Code resources default to
code
,
read-only
, and
shared
. However, if the resource is named in the
.gp
file, the default is overridden in favor of the settings presented. This fact is useful primarily when programming in assembly--in C, code resources are not declared explicitly.
The Hello World sample application uses only standard code resources (undeclared) and UI resources (designated
ui-object
). Some other examples are listed below:
resource <name> data shared
resource <nm> code shared read-only preload no-swap
resource <name> code shared read-only
resource <name> code
stack <number>
The
stack
field designates the size of the application's stack in bytes. The default stack size is 2000 bytes. This field is not necessary for geodes unless they require a different size stack (the Hello World sample uses a slightly smaller stack size for example only). The
stack
field is valid only for geodes with a process aspect.
tokenchars "<string>"
This is one of two fields that identifies a unique token in GeoManager's token database file (see
tokenid
, below). The
tokenchars
field must be a string of four characters that identifies the geode's token. Note that these characters also appear in the geode file's extended attributes.
tokenid <number>
This is the other of two fields that identifies a unique token in GeoManager's token database file (see
tokenchars
, above). It must be a number corresponding to the programmer's manufacturer ID number. Note that this number also appears in the geode file's extended attributes.
type (process|driver|appl|library)+ [single] [system] [uses-coproc]\ [needs-coproc] [has-gcm] [c-api]
The
type
field in the parameters file designates certain characteristics of the geode being compiled. These attributes correspond to the
GeodeAttrs
type and determine how the Glue linker will put the geode together. The attributes are as follows:
uses-coproc
, above).usernotes "<string
>"
This field specifies text to be put in the .geo file's usernotes field. The text must be within quotation marks and can be up to 100 characters long. It must contain no line breaks. This can be useful for containing copyright notices in the executable files. The user can read the text in the usernotes by using GeoManager's File/Get Info command.


Defines how many and which elements are present in the alloy.
int jmpSetAlloyElements (int numElements, char **elementList);
numElements [input]
Integer that specifies the number of elements in the alloy.
elementList [input]
Pointer to an array of null-terminated sequences of characters that specifies the list of elements in the alloy.
JMP_STATUS_OK |
Request has been successfully completed. |
JMP_STATUS_ERROR |
An error has occurred. |
| Aluminium alloys | Al, B, Bi, C, Ca, Co, Cr, Cu, Fe, H, La, Li, Mg, Mn, Mo, Ni, Pb, Sc, Si, Sn, Sr, Ti, V, Zn, Zr. |
| Magnesium alloys | Mg, Al, Ca, Ce, Cu, Fe, Gd, La, Mn, Nd, Sc, Si, Sn, Sr, Y, Zn, Zr. |
| Zirconium alloys | Zr, C, Cr, Fe, H, Hf, N, Nb, Ni, O, Si, Sn. |
| Titanium alloys | Ti, Al, B, C, Cr, Cu, Fe, H, Mo, N, Nb, Ni, O, Re, Ru, Si, Sn, Ta, V, Zr. |
| Cobalt alloys | Co, Al, B, C, Cr, Fe, Hf, Mn, Mo, N, Nb, Ni, Si, Ta, Ti, W, Zr. |
| Solder alloys | Sn, Ag, Al, Au, Bi, Cu, In, Ni, Pb, Sb, Zn. |
| Nickel-based superalloys | Ni, Al, B, C, Co, Cr, Cu, Fe, Hf, Mn, Mo, N, Nb, O, Pt, Re, Ru, Si, Ta, Ti, V, W, Zr. |
| Nickel-iron-based superalloys | Ni, Al, B, C, Co, Cr, Cu, Fe, Mn, Mo, N, Nb, Si, Ta, Ti, W. |
| Nickel-based single crystals | Ni, Al, B, C, Co, Cr, Hf, Mo, Nb, Pt, Re, Ru, Si, Ta, Ti, W. |
| Cast irons | Fe, Al, C, Cr, Cu, Mg, Mn, Mo, N, Nb, Ni, P, S, Si, Ta, Ti, V. |
| Stainless steels | Fe, Al, C, Co, Cr, Cu, Mn, Mo, N, Nb, Ni, O, P, S, Si, Ti, V, W. |
| General steels | Fe, Al, B, C, Co, Cr, Cu, Mn, Mo, N, Nb, Ni, O, P, S, Si, Ta, Ti, V, W. |
| Copper alloys | Cu, Al, Cr, Fe, Mg, Mn, Ni, P, Pb, Si, Sn, Zn. |
| Header | jmpcore.h |
| Library | jmpcore.lib /jmpcore_x64.lib |
| DLL | jmpcore.dll /jmpcore_x64.dll |


RapidError
public enum RapidError: Error
Errors which can be thrown by Rapid SDK
- permissionDenied: Client doesn’t have permissons to read or write specified data
- server: Internal Rapid server error
- invalidRequest: Client sent an invalid request to Rapid server.
- connectionTerminated: Websocket connection expired and needs to be reestablished
- invalidData: Data provided by a developer (collection name, document ID, document mutation value etc.) are in an invalid format
- timeout: Request timeout
- invalidAuthToken: Authorization token is invalid
- executionFailed: Optimistic concurrency write to a document failed
- decodingFailed: Deserialization from JSON to decodable object failed
- cancelled: Request cancelled
default
: General error
-
Undocumented
Declaration
Swift
public enum RapidError: Error
-
Undocumented
Declaration
Swift
public enum RapidError: Error
-
Undocumented
Declaration
Swift
public enum RapidError: Error
-
Undocumented
Declaration
Swift
public enum RapidError: Error
-
Undocumented
Declaration
Swift
public enum RapidError: Error
-
Undocumented
Declaration
Swift
public enum RapidError: Error
-
Undocumented
Declaration
Swift
public enum RapidError: Error
-
Undocumented
Declaration
Swift
public enum RapidError: Error
-
Undocumented
Declaration
Swift
public enum RapidError: Error
-
Undocumented
Declaration
Swift
public enum RapidError: Error
-
Undocumented
Declaration
Swift
public enum RapidError: Error
-
Reason of
invalidData
error- serializationFailure: Serialization failed because data were in a wrong format
- invalidFilter: Invalid subscription filter
- invalidDocument: Invalid document JSON when mutating or merging
- invalidIdentifierFormat: Invalid identifier format - all identifiers e.g. collection ID, document ID must be strings consiting only of alphanumeric characters, dashes and underscores
- invalidKeyPath: Invalid key path format
- invalidLimit: Limit is greater than
RapidPaging.takeLimit
Declaration
Swift
public enum InvalidDataReason
-
Reason of
executionFailed
error- writeConflict: Server wasn’t able to execute a concurrency optimistic database operation because the document was modified in a meanwhile
- aborted: Client aborted an execution flow
Declaration
Swift
public enum ExecutionError


Maharashtra memory lane: When Sharad Pawar offered to support a BJP govt
It may have been the BJP (with help from Ajit Pawar) which sprang today's surprise, but in 2014, it was Sharad Pawar who tried to outmanoeuvre the Shiv Sena. Read on.
HIGHLIGHTS
- Opposition left reeling by BJP's 'Pawar grab'
- Sharad Pawar says NCP not involved
- Here's a look back at what happened after 2014 polls
So far, Sharad Pawar's Saturday has been rather more hectic than he might have hoped. Well, that's probably an understatement.
The Nationalist Congress Party (NCP) chief found out this morning -- like nearly everyone else -- that his nephew Ajit Pawar had joined a BJP-led government as deputy chief minister. Or, did he actually?
The news was so unexpected that one Congress leader initially thought it was fake. And, then he went on to say "Pawar Saheb tussi great ho" without revealing which Pawar -- Sharad or Ajit.
Sharad Pawar quickly tweeted a denial of his involvement. Then, in the afternoon, he and Uddhav Thackeray -- the man he said would be the chief minister of an alliance that looked set to form the next government till late Friday night -- put up a show of unity before a crowd of reporters bursting with questions.
It may have been the BJP (with help from Ajit Pawar) which sprang today's surprise, but in 2014, it was Sharad Pawar who tried to outmanoeuvre the Shiv Sena after the election that landed Devendra Fadnavis in the chief minister's office.
In October that year, NCP leader Praful Patel offered outside support to the BJP, which had fallen short of majority -- with 122 seats in a Maharashtra Assembly that has 288 elected members. At the time, the BJP and the Shiv Sena were exploring the possiblity of re-cementing their 25-year-old alliance. The old allies had contested the state election separately.
Sharad Pawar himself made the offer the following day, saying that an NCP-Shiv Sena-Congress alliance (the very same combination that appeared poised to take charge this week) would not be possible.
The BJP had back then politely declined Pawar's offer, believing that the Shiv Sena would come around.
In the end the Shiv Sena joined the government.
But the Sena and the BJP have had a difficult, on-again-off-again relationship despite having ideological points of agreement.
Their most recent falling out came after the October 2019 election, when they could not agree to share the chief minister's job using a rotation policy. President's Rule was imposed after the BJP, the Shiv Sena and the NCP did not show interest to form government in their individual capacities when Governor BS Koshyari invited them to stake claim.
President's Rule was revoked at 5.47 am today. Shortly after, Devendra Fadnavis and Ajit Pawar appeared on TV screens across India. They were administered oaths by Koshyari as Maharashtra chief minister and deputy chief minister, respectively.


I am a student currently pursuing Bachelor of Technology in Information Technology from VIT, Vellore. I want an opportunity to work in a challenging environment to prove my skills and utilize my knowledge & intelligence in the growth of organization. I am eager to learn new technology.I have ability to handle the pressure situation and can work in group as well as individual. Sometimes I also do programming on online judge systems like hackerrank ,codeforce, hackerearth in C++. My major interest is in web development. I like to read articles, blogs etc. I am also a food lover and pet lover.
Currently pursuing my B.Tech degree in Information Technology from Vellore Institute Of Technology.
Completed my Senior Secondary Examination from ICSE Board in Computer Science Field located in Kanpur.
Completed my Secondary Examination from Indian Certificate of Secondary Education (ICSE) Board in kanpur , Uttar Pradesh-208011.


--- layout: post title: Aggressively caching CSS media with Sass and Tornado date: '2011-09-02T16:22:00-04:00' tags: - JustMigrated - cache - css - sass - tornado tumblr_url: http://sortedaffairs.tumblr.com/post/49113592619/aggressively-caching-css-media-with-sass-and ---
Tornado comes with a nice static url feature for including static files in your templates. It appends hashes to those urls and turns on really aggressive file caching, since the hash bearing url of the requested static file will change whenever the file itself changes, thus busting any browser caching. Unfortunately there’s no inherent means of dealing with the urls in the css (or scss as the case may be) files (e.g. png icons).
To solve this there are a few (probably more) options that I thought of: regex replacements before deployment, making the css files into a tornado template and processing them, adding a hook to sass, or adding the same static_url method to Sass’s arsenal using custom functions. I opted for the last method and added the following to config.rb
in order to extend Sass and add a new static_url
function for .scss files.


--- layout: post title: "IIS Administration Application" comments: true ---
One of the first things i had to do when i got to my new company was to build an application that would allow the remote restart of a web application. After much searching to find the correct thing i found the use of DirectoryEntry
In order to use it i had to import the name space:
using System.DirectoryServices;
This meant that i was able to access the correct part of AD in order to call the correct method that could tell me what the correct status of the app was and also to change the status to another state.
The first method i used was InvokeGet - this took an application pool path and then returned an int that was the state of that application pool. the app pool path was made up as follows:
var appPoolPath = String.Format(@"IIS://{0}/W3SVC/AppPools/{1}", Environment.MachineName, ConfigurationManager.AppSettings["applicationPoolName"]);
using this path we could then call a method as follows:
DirectoryEntry w3svc = new DirectoryEntry(appPoolPath); var currentStatus = (int)w3svc.InvokeGet("AppPoolState");
the int returned could then be deciphered to get the current status. If the int was 2 then the app pool is "running", if the int was "4" then the app pool was stopped. i only checked for those 2 states and made the default be state "unknown".
this meant that as we have the current state then we could then decide was was available to do and what not to do. By using a different method and passing in the command name and app pool name could we then change is state.
var appPoolPath = String.Format(@"IIS://{0}/W3SVC/AppPools/{1}", Environment.MachineName, ConfigurationManager.AppSettings["applicationPoolName"]); var command = "start"; DirectoryEntry w3svc = new DirectoryEntry(appPoolPath); w3svc.Invoke(command, null);
We are passing in null as there are no parameters that i needed to go with this. But it can accept a [] of args if needed. We can call stop in exactly the same way.
So whats the point of this post ihear you ask?? Well there are certain conditions that you can run this application under. The main one is that the user that the application pool needs to run under needs to be a local machine administration in order to interact with AD. this of course will not be a good thing to do on a live webserver - so what are the alternatives?
Nada, nothing, zilch! This is needed and the only way you can stop attacks on the server is possibly to run this under basic IIS authentication within an IP range and a known user with a ridiculously difficult password. I only discovered all of this after i had actually written the little application and this idea has since been trashed!
So back to remoting into the webserver for IIS application pool crashes! c'est la vie!


Title of Example
An example goes here.
Writing can be added here. Please view style.css
for details on how to change this to a two-column layout.
An example goes here.
Writing can be added here. Please view style.css
for details on how to change this to a two-column layout.


Collection:
Destination:
Rate:
Cargo Size:
m
3
Calculate
Result:
We are sorry!
but we don't offer services from the above locations.


Durable store of objects in json format, with a simple RESTful interface to easily query and manage any type of object. Developers can focus on building key components of the app.
Secure and reliable cloud storage, with SSL-protected data transmission
Support of objects containing location informatin. It provides API for various geo-based queries


Class Guacamole.Client
Defined in: Client.js.
| Constructor Attributes | Constructor Name and Description |
|---|---|
|
Guacamole.Client(tunnel)
Guacamole protocol client.
|
| Field Attributes | Field Name and Description |
|---|---|
| <inner> |
The underlying Guacamole display.
|
| <inner> |
All available layers and buffers
|
| Method Attributes | Method Name and Description |
|---|---|
|
connect(data)
Connects the underlying tunnel of this Guacamole.Client, passing the
given arbitrary data to the tunnel during the connection process.
|
|
|
createClipboardStream(mimetype, name)
Opens a new clipboard object for writing, having the given mimetype.
|
|
|
createFileStream(mimetype, filename)
Opens a new file for writing, having the given index, mimetype and
filename.
|
|
|
createPipeStream(mimetype, name)
Opens a new pipe for writing, having the given name and mimetype.
|
|
|
Sends a disconnect instruction to the server and closes the tunnel.
|
|
|
endStream(index)
Marks a currently-open stream as complete.
|
|
|
Returns the underlying display of this Guacamole.Client.
|
|
| <inner> |
getLayer(index)
Returns the layer with the given index, creating it if necessary.
|
|
sendAck(index, message, code)
Acknowledge receipt of a blob on the stream with the given index.
|
|
|
sendBlob(index, data)
Given the index of a file, writes a blob of data to that file.
|
|
|
sendKeyEvent(pressed, keysym)
Sends a key event having the given properties as if the user
pressed or released a key.
|
|
|
sendMouseState(mouseState)
Sends a mouse event having the properties provided by the given mouse
state.
|
|
|
sendSize(width, height)
Sends the current size of the screen.
|
|
|
setClipboard(data)
Sets the clipboard of the remote client to the given text data.
|
| Event Attributes | Event Name and Description |
|---|---|
|
onclipboard(stream, mimetype)
Fired when the clipboard of the remote client is changing.
|
|
|
onerror(status)
Fired when an error is reported by the remote client, and the connection
is being closed.
|
|
|
onfile(stream, mimetype, filename)
Fired when a file stream is created.
|
|
|
onname(name)
Fired when the remote client sends a name update.
|
|
|
onpipe(stream, mimetype, name)
Fired when a pipe stream is created.
|
|
|
onstatechange(state)
Fired whenever the state of this Guacamole.Client changes.
|
|
|
onsync(timestamp)
Fired whenever a sync instruction is received from the server, indicating
that the server is finished processing any input from the client and
has sent any results.
|
Class Detail
Guacamole.Client(tunnel)
Guacamole protocol client. Given a Guacamole.Tunnel,
automatically handles incoming and outgoing Guacamole instructions via the
provided tunnel, updating its display using one or more canvas elements.
- Parameters:
- {Guacamole.Tunnel} tunnel
- The tunnel to use to send and receive Guacamole instructions.
Field Detail
<inner>
display
The underlying Guacamole display.
<inner>
layers
All available layers and buffers
Method Detail
connect(data)
Connects the underlying tunnel of this Guacamole.Client, passing the
given arbitrary data to the tunnel during the connection process.
- Parameters:
- data
- Arbitrary connection data to be sent to the underlying tunnel during the connection process.
- Throws:
- {Guacamole.Status}
- If an error occurs during connection.
{Guacamole.OutputStream}
createClipboardStream(mimetype, name)
Opens a new clipboard object for writing, having the given mimetype.
- Parameters:
- {String} mimetype
- The mimetype of the data being sent.
- {String} name
- The name of the pipe.
- Returns:
- {Guacamole.OutputStream} The created file stream.
{Guacamole.OutputStream}
createFileStream(mimetype, filename)
Opens a new file for writing, having the given index, mimetype and
filename.
- Parameters:
- {String} mimetype
- The mimetype of the file being sent.
- {String} filename
- The filename of the file being sent.
- Returns:
- {Guacamole.OutputStream} The created file stream.
{Guacamole.OutputStream}
createPipeStream(mimetype, name)
Opens a new pipe for writing, having the given name and mimetype.
- Parameters:
- {String} mimetype
- The mimetype of the data being sent.
- {String} name
- The name of the pipe.
- Returns:
- {Guacamole.OutputStream} The created file stream.
disconnect()
Sends a disconnect instruction to the server and closes the tunnel.
endStream(index)
Marks a currently-open stream as complete.
- Parameters:
- {Number} index
- The index of the stream to end.
{Guacamole.Display}
getDisplay()
Returns the underlying display of this Guacamole.Client. The display
contains an Element which can be added to the DOM, causing the
display to become visible.
- Returns:
- {Guacamole.Display} The underlying display of this Guacamole.Client.
<inner>
{Guacamole.Display.VisibleLayer|Guacamole.Layer}
getLayer(index)
Returns the layer with the given index, creating it if necessary.
Positive indices refer to visible layers, an index of zero refers to
the default layer, and negative indices refer to buffers.
- Parameters:
- {Number} index
- The index of the layer to retrieve.
- Returns:
- {Guacamole.Display.VisibleLayer|Guacamole.Layer} The layer having the given index.
sendAck(index, message, code)
Acknowledge receipt of a blob on the stream with the given index.
- Parameters:
- {Number} index
- The index of the stream associated with the received blob.
- {String} message
- A human-readable message describing the error or status.
- {Number} code
- The error code, if any, or 0 for success.
sendBlob(index, data)
Given the index of a file, writes a blob of data to that file.
- Parameters:
- {Number} index
- The index of the file to write to.
- {String} data
- Base64-encoded data to write to the file.
sendKeyEvent(pressed, keysym)
Sends a key event having the given properties as if the user
pressed or released a key.
- Parameters:
- {Boolean} pressed
- Whether the key is pressed (true) or released (false).
- {Number} keysym
- The keysym of the key being pressed or released.
sendMouseState(mouseState)
Sends a mouse event having the properties provided by the given mouse
state.
- Parameters:
- {Guacamole.Mouse.State} mouseState
- The state of the mouse to send in the mouse event.
sendSize(width, height)
Sends the current size of the screen.
- Parameters:
- {Number} width
- The width of the screen.
- {Number} height
- The height of the screen.
setClipboard(data)
Sets the clipboard of the remote client to the given text data.
- Parameters:
- {String} data
- The data to send as the clipboard contents.
- Deprecated:
- Use createClipboardStream() instead.
Event Detail
onclipboard(stream, mimetype)
Fired when the clipboard of the remote client is changing.
- Parameters:
- {Guacamole.InputStream} stream
- The stream that will receive clipboard data from the server.
- {String} mimetype
- The mimetype of the data which will be received.
onerror(status)
Fired when an error is reported by the remote client, and the connection
is being closed.
- Parameters:
- {Guacamole.Status} status
- A status object which describes the error.
onfile(stream, mimetype, filename)
Fired when a file stream is created. The stream provided to this event
handler will contain its own event handlers for received data.
- Parameters:
- {Guacamole.InputStream} stream
- The stream that will receive data from the server.
- {String} mimetype
- The mimetype of the file received.
- {String} filename
- The name of the file received.
onname(name)
Fired when the remote client sends a name update.
- Parameters:
- {String} name
- The new name of this client.
onpipe(stream, mimetype, name)
Fired when a pipe stream is created. The stream provided to this event
handler will contain its own event handlers for received data;
- Parameters:
- {Guacamole.InputStream} stream
- The stream that will receive data from the server.
- {String} mimetype
- The mimetype of the data which will be received.
- {String} name
- The name of the pipe.
onstatechange(state)
Fired whenever the state of this Guacamole.Client changes.
- Parameters:
- {Number} state
- The new state of the client.
onsync(timestamp)
Fired whenever a sync instruction is received from the server, indicating
that the server is finished processing any input from the client and
has sent any results.
- Parameters:
- {Number} timestamp
- The timestamp associated with the sync instruction.


Love! Valour! Compassion! (1997) Jason Alexander, Randy Becker, Stephen Bogardus, John Glover, John Benjamin Hickey, Justin Kirk, Stephen Spinella. Directed by Joe Mantello.
Rated R, ** and one half stars (out of *****)
Review by Ed Johnson-Ott For more reviews, go to www.nuvo-online.com/film
I saw Terrence McNally's LOVE! VALOUR! COMPASSION! on Broadway a couple of summers ago. I'd already purchased tickets for Dan Butler's outstanding one man show "THE ONLY THING WORSE YOU COULD HAVE TOLD ME" and only had time to see one other play while in New York. Here's how I selected L!V!C! I read the theater listings on the Internet, looking for gay plays with male nudity. There were two major ones and the postings I read indicated that both featured about the same amount of flesh. L!V!C! had won the Tony for best play and I thought "Great! Art AND dicks!" There, now you know how shallow I am.
The simple truth is that lots of guys are just like me and theatrical productions exploit that to the hilt. Many mediocre plays, both gay and straight, have enjoyed long profitable runs by tossing in lots of nudity. When I left the theater after three long hours of LOVE! VALOUR! COMPASSION!, I reflected on the experience. I'd had a fine time looking at the naked guys, particularly Randy Becker as a Puerto Rican dancer, and an awful time suffering through the actual play. That a production as mawkish and gimmicky as this won a Tony flattened me. If this was the best drama, Broadway must have had a terrible year.
Now LOVE! VALOUR! COMPASSION! is a movie, with the Broadway cast intact, save for Nathan Lane being replaced by SEINFELD's Jason Alexander. L!V!C! the movie is definitely better than L!V!C! the play. For one thing, it's an hour shorter, and the editing helps. And, being a movie, you get a much better view of the naked guys.
Set at a secluded Victorian house on the edge of a beautiful lake, L!V!C! tells of eight gay men who gather over three holiday weekends one summer. The house belongs to Gregory (Stephen Bogardus,) a middle-aged choreographer and his younger, blind lover Bobby (Justin Kirk.) Their guests include John (John Glover,) a bitter English composer, and his current boy toy Ramon (the aforementioned Becker;) John's twin brother James, who is HIV+ and as sweet as his brother is surly (the twins' last name is Jeckyll...too clever, eh?;) Buzz (Alexander,) a flamboyant show tune aficionado; and Arthur (John Benjamin Hickey) and Perry (Stephen Spinella,) a couple celebrating fourteen years together.
The men hang out and mostly spout the kind of theatrical chatter that you would never hear in real life. The continuing relationship of the group is puzzling. John is intensely hateful at every conceivable opportunity, yet he gets invited back. Ramon has a brief affair with Bobby that nearly destroys Bobby and Gregory's relationship, yet he gets invited back.  These men are either far more forgiving than anyone I've ever met or simply gluttons for punishment.
L!V!C! has its pleasures. The dialogue, windy though it may be, is often funny and occassionally very touching. Jason Alexander gives a strong performance. Initially he appears to be doing an impression of Nathan Lane, but after a few minutes he seems to find his footing and makes the character his own. Despite being saddled with the twin roles, John Glover almost succeeds in making the viewer forget the gimmick. His James is a particularly nice creation; bedecked in flowing clothes and a straw sun bonnet, James is a painfully kind and loving person. A flowering romance between him and Buzz is one of the highlights of the story.
L!V!C! deserves credit for presenting a non-stereotypical, intimate portrait of a group of gay men to a mainstream audience. It's a shame though, that for the most part, these guys are boring. Not much happens in L!V!C!, and aside from Alexander and Glover's characters, the men are pretty bland. That's fine if you're trying to show heterosexuals that gays are really just plain folks. If you're trying to construct a drama, though, it really helps to have characters that are actually interesting. For better or worse, L!V!C! struggles mightily to be a gay version of THE BIG CHILL, but lacks the color and sense of motion necessary to pull it off. It sure has a lot of naked guys, though! What a shame to see so many penises wasted on a mediocre story.
copyright 1997, Ed Johnson-Ott
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


MPIMapViewDelegate
public protocol MPIMapViewDelegate : AnyObject
Undocumented
-
Called when the mapview is finished loading the venue
Declaration
Swift
func onDataLoaded(data: MPIData)
Parameters
data
The data of the venue
Return Value
void
-
Called when map is first loaded
Declaration
Swift
func onFirstMapLoaded()
-
Called when the map has changed in the mapview
Declaration
Swift
func onMapChanged(map: MPIMap)
Parameters
map
The map that the mapview changed to
Return Value
void
-
Called when the user taps/clicks on an
MPIPolygon
on the mapviewDeclaration
Swift
func onPolygonClicked(polygon: MPIPolygon)
Return Value
void
-
Called when a user does not tap a polygon on the map
Declaration
Swift
func onNothingClicked()
Return Value
void
-
Called when the mapview is finished rendering the first map
Declaration
Swift
func onBlueDotUpdated(blueDot: MPIBlueDot)
Return Value
void