Bailout: Most states now free of salary arrears, says Buhari
Agency Reporter
President Muhammadu Buhari has said most states are now free of accumulated salary arrears, following the bailout the Federal Government gave them.
He recalled that when his administration came on board in 2015, it inherited huge arrears of unpaid salaries and allowances of civil servants and public sector workers, especially those in state, local and municipal governments.
The President spoke yesterday in Abuja at the fourth ordinary congress of International Trade Union Confederation Africa (ITUC-Africa).
His address was delivered by the Secretary to the Government of the Federation (SGF), Mr Boss Mustapha, who was represented by the Permanent secretary, General Services Office of the SGF, Olusegun Olakunle.
President Buhari said his administration followed the bailout by energising the Pension Transitional Arrangement Directorate (PTAD) to offset the pension indebtedness owed by successive governments.
READ ALSO: N614b bailout: Governors reject repayment plan
He said: “When this administration came on board in 2015, we inherited huge arrears of unpaid salary and allowances of civil servants and public sector workers, especially those working for sub-national and local or municipal governments. We asked our state governors: ‘How do you manage to sleep at night when you are owing workers?’
“We followed up on this concern by advancing credit facilities to our sub-national governments to enable them offset huge salary arrears. Today, we can confidently say that most states in Nigeria are free of accumulated arrears of salary indebtedness.”


|
PX4 Firmware
PX4 Autopilot Software http://px4.io
|
Objects of this class are owned by the sub-node thread. More...
#include <uavcan_virtual_can_driver.hpp>
Classes | |
| struct | RxItem |
| This class re-defines uavcan::RxCanFrame with flags. More... | |
Public Member Functions | |
| VirtualCanIface (uavcan::IPoolAllocator &allocator, uavcan::ISystemClock &clock, pthread_mutex_t &arg_mutex, unsigned quota_per_queue) | |
| ~VirtualCanIface () | |
| void | addRxFrame (const uavcan::CanRxFrame &frame, uavcan::CanIOFlags flags) |
| Note that RX queue overwrites oldest items when overflowed. More... | |
| void | flushTxQueueTo (uavcan::INode &main_node, std::uint8_t iface_index) |
| Call this from the main thread only. More... | |
| bool | hasDataInRxQueue () |
| Call this from the sub-node thread only. More... | |
Private Member Functions | |
| int16_t | send (const uavcan::CanFrame &frame, uavcan::MonotonicTime tx_deadline, uavcan::CanIOFlags flags) override |
| int16_t | receive (uavcan::CanFrame &out_frame, uavcan::MonotonicTime &out_ts_monotonic, uavcan::UtcTime &out_ts_utc, uavcan::CanIOFlags &out_flags) override |
| int16_t | configureFilters (const uavcan::CanFilterConfig *, std::uint16_t) override |
| uint16_t | getNumFilters () const override |
| uint64_t | getErrorCount () const override |
Private Attributes | |
| pthread_mutex_t & | common_driver_mutex_ |
| uavcan::CanTxQueue | prioritized_tx_queue_ |
| Queue< RxItem > | rx_queue_ |
Objects of this class are owned by the sub-node thread.
This class does not use heap memory.
Definition at line 194 of file uavcan_virtual_can_driver.hpp.
|
inline |
Definition at line 257 of file uavcan_virtual_can_driver.hpp.
|
inline |
Definition at line 265 of file uavcan_virtual_can_driver.hpp.
|
inline |
Note that RX queue overwrites oldest items when overflowed.
Call this from the main thread only. No additional locking is required.
Definition at line 274 of file uavcan_virtual_can_driver.hpp.
References Queue< T >::isEmpty(), MicroBenchHRT::lock(), Queue< T >::pop(), and Queue< T >::tryEmplace().
|
inlineoverrideprivate |
Definition at line 252 of file uavcan_virtual_can_driver.hpp.
|
inline |
Call this from the main thread only.
No additional locking is required.
Definition at line 288 of file uavcan_virtual_can_driver.hpp.
References MicroBenchHRT::lock().
|
inlineoverrideprivate |
Definition at line 254 of file uavcan_virtual_can_driver.hpp.
|
inlineoverrideprivate |
Definition at line 253 of file uavcan_virtual_can_driver.hpp.
|
inline |
Call this from the sub-node thread only.
No additional locking is required.
Definition at line 313 of file uavcan_virtual_can_driver.hpp.
References Queue< T >::isEmpty(), and MicroBenchHRT::lock().
|
inlineoverrideprivate |
Definition at line 232 of file uavcan_virtual_can_driver.hpp.
References Queue< T >::isEmpty(), MicroBenchHRT::lock(), Queue< T >::peek(), and Queue< T >::pop().
|
inlineoverrideprivate |
Definition at line 225 of file uavcan_virtual_can_driver.hpp.
References MicroBenchHRT::lock().
|
private |
Definition at line 220 of file uavcan_virtual_can_driver.hpp.
|
private |
Definition at line 222 of file uavcan_virtual_can_driver.hpp.
Definition at line 223 of file uavcan_virtual_can_driver.hpp.


Instant Payments using the Bitcoin protocol.
Bitcoin is already transforming the world of finance. BitPay is taking it one step further with Impulse – a new protocol for instantaneous, zero-confirmation payments, built with the full security of the bitcoin blockchain.


Cloud Vision V1 API - Module Google::Cloud::Vision::V1::ProductSearch (v0.6.4)
Reference documentation and code samples for the Cloud Vision V1 API module Google::Cloud::Vision::V1::ProductSearch.
Manages Products and ProductSets of reference images for use in product search. It uses the following resource model:
- The API has a collection of ProductSet resources, named
projects//locations//productSets/*
, which acts as a way to put different products into groups to limit identification.
In parallel,
The API has a collection of Product resources, named
projects//locations//products/
Each Product has a collection of ReferenceImage resources, named
projects//locations//products//referenceImages/*
To load this service and instantiate a client:
require "google/cloud/vision/v1/product_search"
client = ::Google::Cloud::Vision::V1::ProductSearch::Client.new


Save a records of application events to the server.
POST /sonomaLogger/appEvents HTTP/1.1 Host: test1Log.aosvapps.com:443 Authorization: Basic YWxleGFuZGVyLmoucnlhbkBnbWFpbC5jb206YmVhc3Q= [ { "apiVersion": 1, "sessionId":<PHONE_NUMBER>211, "time":<PHONE_NUMBER>211, "origin": "user", "module": "levelPlay", "type": "SONG_PLAYED", "details": { "alpineSongId": "52a67d480364cb0ef3d4f563", "songLength": 123, "durationPlayed": 123, "percentPlayed": 100, "startTime":<PHONE_NUMBER>, "endTime":<PHONE_NUMBER>, "isManual": true, "skipped": [ "52a67d480364cb0ef3d4f560", "52a67d480364cb0ef3d4f561", "52a67d480364cb0ef3d4f562" ] }, "app": { "name": "sonoma", "version": "1", "build": 946, "buildType": 1, "foreground": true }, "device": { "type": "android", "osBuild": "2.3.4", "id": "add0d21b-634e-4c04-9677-cbc24231aa29", "phoneSpec": "motorolaDROIDX", "wifiMAC": "f8: 7b: 7a: 84: da: 02" }, "location": { "locSpec": "gps", "lts":<PHONE_NUMBER>000, "acc": 64, "latitude": "37.379425", "longitude": "-121.961395", "spd": "0" } } ]
Every event has a unique type. There are a finite number of event types in the application.
The JSON is the same for all events with 1 exception:
The contents of the details property will vary by event type.
Events are classified by 2 different classification schemes:
(1) originCategory = {user, network, other}
A user event is some interaction with the user.
A network event is some interaction with another system across the network.
An other event is everything else.
(2) functionalCategory = {utility, levelPlay, classicPlay}
All events of type user, may be functionally divided into these 3 categories.
This enables us to see what features are being used and not used by users.
For each individual record in the array of records ...
| apiVersion (required) |
The version of the version of the JSON appEvent logging API that the caller is using. |
| sessionId (required) |
A id generated by the client to indicate a *new* interaction with the server. This should be the epochTime of the first appEvent of the session. Rules: If the app is restarted, a new sessionId should be generated. If the app continues to run for more than 30 mins without any value exchange, a new sessionId should be generated. Note: If music is playing for more than 30 mins but the user does not trigger any events, a new sessionId is not generated because we *assume* that the user is receiving value by listening to the music. |
| time (required) |
The epochTime that the event occurred. |
| type (required) |
The type of the event that occurred. e.g. "songPlayed". |
| details (required) |
The details of the event. NOTE: the content of the event details varies based on the name of the event. |
| origin (required) |
For Sonoma, this is one of {user, http, other}. e.g. "songPlayed". |
| module (required) |
For Sonoma, this is one of {utility, levelPlay, classicPlay} Every application event falls into one of these functional categories. Having this information enables us to calculate how much time the user is spending in each functional category. NOTE: Events are not owned by functional Categories. "songPlayed" can occur within either a levelPlay or classicPlay context. |
| app.name (required) |
The name of the application making the request. e.g. "sonoma" |
| app.version (required) |
The version of the application making the request. e.g. "sonoma" |
| app.build (required) |
The build number of the app that is logging. This must be an integer. |
| app.buildType (required) |
An integer. A value of 0 represents a production build released via the app store. All other buildTypes are non-zero. |
| app.foreground (required) |
Was the app in the foreground when the event occurred? true or false |
| device.type (required) |
android or iphone |
| device.osBuild (required) |
Which version of the operating system. |
| device.id (required) |
This is the deviceId of the device sending the request. |
| device.phoneSpec (required) |
Hardware make and model. |
| device.wifiMAC (optional) |
|
| location.lts (optional) |
location time stamp. This is the time that the location data was gathered. It may be significantly different than the ts of the event. If so the event might not have occurred in that location. |
| location.locSpec (optional) |
The method used to determine the current location of the device. One of {gps, network, passive}. |
| location.latitude (optional) |
|
| location.longitude (optional) |
|
| location.acc (optional) |
The accuracy of the location data. |
| location.spd (optional) |
The current speed of the device. |
The following response codes are possible from this service.
(Client code must handle each of them.):
The content of the body of the HTTP Response will always be JSON.
Therefore, the following header will always be sent:
Content-Type: application/json
HTTP/1.0 201 Created Content-Type: "application/json" { "numberOfRecordsReceived": 4, "numberOfRecordsProcessed": 4, "numberOfErrors": 0, "errors": [] }
HTTP/1.0 400 Bad Request Content-Type: "application/json" { "errorCode": 1, "errorMessage": "INVALID JSON received in the HTTP REQUEST: No JSON was POSTed!" }
HTTP/1.0 400 Bad Request Content-Type: "application/json" { "errorCode": 1, "errorMessage": "INVALID JSON received in the HTTP REQUEST: JSON is not valid." }
HTTP/1.0 500 Server Error Content-Type: "application/json" { "errorCode": 3, "errorMessage": "Server Error" "data": "Try again later." }
{ "numberOfRecordsReceived": 100, "numberOfRecordsProcessed": 91, "numberOfErrors": 9, "errors": [ { "record": "1", "errorCode": 1, "errorMessage": "Invalid JSON", "data": "apiKey was unspecified" }, { "record": "2", "errorCode": 1, "errorMessage": "Invalid JSON", "data": "dev (deviceId) was not specified" }, { "record": "3", "errorCode": 1, "errorMessage": "Invalid JSON", "data": "app was not specified" }, { "record": "4", "errorCode": 1, "errorMessage": "Invalid JSON", "data": "user was not specified" }, { "record": "5", "errorCode": 1, "errorMessage": "Invalid JSON", "data": "msgId was not specified" }, { "record": "6", "errorCode": 1, "errorMessage": "Invalid JSON", "data": "act was unspecified" }, { "record": "7", "errorCode": 1, "errorMessage": "Invalid JSON", "data": "updateTime was not specified" }, { "record": "8", "errorCode": 1, "errorMessage": "Invalid JSON", "data": "updateTime (0) is invalid.\nCorresponding DateTime is: 1969-12-31T4:0:00-0800\nCurrent DateTime is: 2013-08-07T5:16:55-0700\nCan't be more than 10 minutes into the future. \nCannot be more than 365 days into the past." }, { "record": "9", "errorCode": 3, "errorMessage": Server Error", "data": "Try again later." } ] }
This list is not comprehensive.
The following is the list of app event types that the server expects to receive from clients and the data it expects to receive for each type.
| type | data |
|---|---|
| songRecommendationRequestReceived |
{ "eventCategory": "http", "peformance": { "timeRequestSent": 1, "timeResponseReceived": 2, "responseTime": 1.2234 }, "request": { "parameters": { "genre": "rap", "tempo": 125 } }, "response": { "recommendationId": "5330a192da060025eb667ac1", "userId"<EMAIL_ADDRESS>"deviceId": "D6735C05A22643B395967FF83CB52251", "songLibraryId": "5330a192da060025eb667ac1", "songs": [ { "localSongId": "3", "score": 4.52 }, { "localSongId": "1", "score": 4.43 }, { "localSongId": "4", "score": 4.33 }, { "localSongId": "2", "score": 4.22 } ] } } |
| songPlayed |
{ "recommendationId": "52a7bbbc0364f68ae82a94c1", "songLibraryId": "52a67d480364cb0ef3d4f563", "localSongId": 22, "songLength": 123, "durationPlayed": 123, "percentPlayed": 100, "startTime":<PHONE_NUMBER>, "endTime":<PHONE_NUMBER>, "isManual": true } |


Gifted Kid Aces Talent Show By Turning Drawing a Perfect Circle Into a Spectacular Performance
by Cady LangThe ability to draw a perfect circle, unassisted and on-demand, may seem trivial or unpractical, but it certainly came in handy for a young student whose dramatic demonstration of this quirky skill earned him plenty of applause at his school’s talent show.
In a video clip shared to Reddit, the young man turns his circle drawing into an epic piece of performance art; he flexes and stretches to music on the stage alongside some assistants for a good amount of time before beginning his drawing on a white board. Once he begins his drawing, he does so with a flourish, completing a perfect circle in one smooth swoop. However, the best part of the performance comes after he finishes drawing his perfect circle and one of his assistants feigns awe so great that they faint and need to be carried off the stage.
Watch a perfect circle get drawn with aplomb below.


|
||||||||||
| PREV NEXT | FRAMES NO FRAMES |
| Packages that use Authorizer | |
|---|---|
| org.apache.shiro.authz | Core interfaces and exceptions supporting Authorization (access control). |
| org.apache.shiro.cas | |
| org.apache.shiro.mgt | Provides the master SecurityManager interface and a default implementation
hierarchy for managing all aspects of Shiro's functionality in an application. |
| org.apache.shiro.realm | Components and sub-packages used in supporting the core Realm interface. |
| org.apache.shiro.realm.activedirectory | Realms that acquire security data from a Microsoft Active Directory. |
| org.apache.shiro.realm.jdbc | Realms that acquire security data from an RDBMS (Relational Database Management System) using the JDBC API. |
| org.apache.shiro.realm.ldap | Realms that acquire security data from an LDAP (Lightweight Directory Access Protocol) server utilizing LDAP/Naming APIs. |
| org.apache.shiro.realm.text | Realms that acquire security data from text-based data sources such as File s or
text streams. |
| org.apache.shiro.web.mgt | Components supporting web-specific
SecurityManager implementations. |
| Uses of Authorizer in org.apache.shiro.authz |
|---|
| Classes in org.apache.shiro.authz that implement Authorizer | |
|---|---|
class |
ModularRealmAuthorizer
A ModularRealmAuthorizer is an Authorizer implementation that consults one or more configured Realm s during an authorization operation. |
| Uses of Authorizer in org.apache.shiro.cas |
|---|
| Classes in org.apache.shiro.cas that implement Authorizer | |
|---|---|
class |
CasRealm
This realm implementation acts as a CAS client to a CAS server for authentication and basic authorization. |
| Uses of Authorizer in org.apache.shiro.mgt |
|---|
| Subinterfaces of Authorizer in org.apache.shiro.mgt | |
|---|---|
interface |
SecurityManager
A SecurityManager executes all security operations for all Subjects (aka users) across a
single application. |
| Classes in org.apache.shiro.mgt that implement Authorizer | |
|---|---|
class |
AuthenticatingSecurityManager
Shiro support of a SecurityManager class hierarchy that delegates all
authentication operations to a wrapped Authenticator instance. |
class |
AuthorizingSecurityManager
Shiro support of a SecurityManager class hierarchy that delegates all
authorization (access control) operations to a wrapped Authorizer instance. |
class |
CachingSecurityManager
A very basic starting point for the SecurityManager interface that merely provides logging and caching support. |
class |
DefaultSecurityManager
The Shiro framework's default concrete implementation of the SecurityManager interface,
based around a collection of Realm s. |
class |
RealmSecurityManager
Shiro support of a SecurityManager class hierarchy based around a collection of
Realm s. |
class |
SessionsSecurityManager
Shiro support of a SecurityManager class hierarchy that delegates all
session operations to a wrapped
SessionManager instance. |
| Methods in org.apache.shiro.mgt that return Authorizer | |
|---|---|
Authorizer |
AuthorizingSecurityManager.getAuthorizer()
Returns the underlying wrapped Authorizer instance to which this SecurityManager implementation delegates all of its authorization calls. |
| Methods in org.apache.shiro.mgt with parameters of type Authorizer | |
|---|---|
void |
AuthorizingSecurityManager.setAuthorizer(Authorizer authorizer)
Sets the underlying Authorizer instance to which this SecurityManager implementation will delegate all of its authorization calls. |
| Uses of Authorizer in org.apache.shiro.realm |
|---|
| Classes in org.apache.shiro.realm that implement Authorizer | |
|---|---|
class |
AuthorizingRealm
An AuthorizingRealm extends the AuthenticatingRealm 's capabilities by adding Authorization
(access control) support. |
class |
SimpleAccountRealm
A simple implementation of the Realm interface that
uses a set of configured user accounts and roles to support authentication and authorization. |
| Uses of Authorizer in org.apache.shiro.realm.activedirectory |
|---|
| Classes in org.apache.shiro.realm.activedirectory that implement Authorizer | |
|---|---|
class |
ActiveDirectoryRealm
A Realm that authenticates with an active directory LDAP
server to determine the roles for a particular user. |
| Uses of Authorizer in org.apache.shiro.realm.jdbc |
|---|
| Classes in org.apache.shiro.realm.jdbc that implement Authorizer | |
|---|---|
class |
JdbcRealm
Realm that allows authentication and authorization via JDBC calls. |
| Uses of Authorizer in org.apache.shiro.realm.ldap |
|---|
| Classes in org.apache.shiro.realm.ldap that implement Authorizer | |
|---|---|
class |
AbstractLdapRealm
A Realm that authenticates with an LDAP
server to build the Subject for a user. |
class |
JndiLdapRealm
An LDAP Realm implementation utilizing Sun's/Oracle's
JNDI API as an LDAP API. |
| Uses of Authorizer in org.apache.shiro.realm.text |
|---|
| Classes in org.apache.shiro.realm.text that implement Authorizer | |
|---|---|
class |
IniRealm
A Realm implementation that creates
SimpleAccount instances based on
Ini configuration. |
class |
PropertiesRealm
A TextConfigurationRealm that defers all logic to the parent class, but just enables
Properties based configuration in addition to the parent class's String configuration. |
class |
TextConfigurationRealm
A SimpleAccountRealm that enables text-based configuration of the initial User, Role, and Permission objects created at startup. |
| Uses of Authorizer in org.apache.shiro.web.mgt |
|---|
| Subinterfaces of Authorizer in org.apache.shiro.web.mgt | |
|---|---|
interface |
WebSecurityManager
This interface represents a SecurityManager implementation that can used in web-enabled applications. |
| Classes in org.apache.shiro.web.mgt that implement Authorizer | |
|---|---|
class |
DefaultWebSecurityManager
Default WebSecurityManager implementation used in web-based applications or any
application that requires HTTP connectivity (SOAP, http remoting, etc). |
|
||||||||||
| PREV NEXT | FRAMES NO FRAMES |


The trained and certified auto repair technicians at The Auto Shop boast several
decades of cumulative experience when it comes to vehicle maintenance, repair, and any other service your car
may need.
We’re proud of our work and consider ourselves among the best (if
not the best mechanic shop in Amman) and can help you out. So when it comes to auto service shops in the
Valley of the Sun, give us a call today!
OUR SERVICES
PROFESSIONAL MAINTENANCE & REPAIR FROM HOUSE OF CARS AUTOMOTIVE


|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface MBeanServerConnection
This interface represents a way to talk to an MBean server, whether
local or remote. The MBeanServer
interface, representing a
local MBean server, extends this interface.
| Method Summary | |
|---|---|
void |
addNotificationListener(ObjectName name,
NotificationListener listener,
NotificationFilter filter,
Object handback)
Adds a listener to a registered MBean. |
void |
addNotificationListener(ObjectName name,
ObjectName listener,
NotificationFilter filter,
Object handback)
Adds a listener to a registered MBean. |
ObjectInstance |
createMBean(String className,
ObjectName name)
Instantiates and registers an MBean in the MBean server. |
ObjectInstance |
createMBean(String className,
ObjectName name,
Object[] params,
String[] signature)
Instantiates and registers an MBean in the MBean server. |
ObjectInstance |
createMBean(String className,
ObjectName name,
ObjectName loaderName)
Instantiates and registers an MBean in the MBean server. |
ObjectInstance |
createMBean(String className,
ObjectName name,
ObjectName loaderName,
Object[] params,
String[] signature)
Instantiates and registers an MBean in the MBean server. |
Object |
getAttribute(ObjectName name,
String attribute)
Gets the value of a specific attribute of a named MBean. |
AttributeList |
getAttributes(ObjectName name,
String[] attributes)
Enables the values of several attributes of a named MBean. |
String |
getDefaultDomain()
Returns the default domain used for naming the MBean. |
String[] |
getDomains()
Returns the list of domains in which any MBean is currently registered. |
Integer |
getMBeanCount()
Returns the number of MBeans registered in the MBean server. |
MBeanInfo |
getMBeanInfo(ObjectName name)
This method discovers the attributes and operations that an MBean exposes for management. |
ObjectInstance |
getObjectInstance(ObjectName name)
Gets the ObjectInstance for a given MBean
registered with the MBean server. |
Object |
invoke(ObjectName name,
String operationName,
Object[] params,
String[] signature)
Invokes an operation on an MBean. |
boolean |
isInstanceOf(ObjectName name,
String className)
Returns true if the MBean specified is an instance of the specified class, false otherwise. |
boolean |
isRegistered(ObjectName name)
Checks whether an MBean, identified by its object name, is already registered with the MBean server. |
Set |
queryMBeans(ObjectName name,
QueryExp query)
Gets MBeans controlled by the MBean server. |
Set |
queryNames(ObjectName name,
QueryExp query)
Gets the names of MBeans controlled by the MBean server. |
void |
removeNotificationListener(ObjectName name,
NotificationListener listener)
Removes a listener from a registered MBean. |
void |
removeNotificationListener(ObjectName name,
NotificationListener listener,
NotificationFilter filter,
Object handback)
Removes a listener from a registered MBean. |
void |
removeNotificationListener(ObjectName name,
ObjectName listener)
Removes a listener from a registered MBean. |
void |
removeNotificationListener(ObjectName name,
ObjectName listener,
NotificationFilter filter,
Object handback)
Removes a listener from a registered MBean. |
void |
setAttribute(ObjectName name,
Attribute attribute)
Sets the value of a specific attribute of a named MBean. |
AttributeList |
setAttributes(ObjectName name,
AttributeList attributes)
Sets the values of several attributes of a named MBean. |
void |
unregisterMBean(ObjectName name)
Unregisters an MBean from the MBean server. |
| Method Detail |
|---|
ObjectInstance createMBean(String className, ObjectName name) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, IOException
Instantiates and registers an MBean in the MBean server. The
MBean server will use its Default Loader
Repository
to load the class of the MBean. An object name is
associated to the MBean. If the object name given is null, the
MBean must provide its own name by implementing the MBeanRegistration
interface
and returning the name from the preRegister
method.
This method is equivalent to createMBean(className, name, (Object[]) null, (String[])
null)
.
className
- The class name of the MBean to be instantiated.name
- The object name of the MBean. May be null.
ObjectInstance
, containing the
ObjectName
and the Java class name of the newly
instantiated MBean. If the contained ObjectName
is n
, the contained Java class name is
getMBeanInfo(n)
.getClassName()
.
ReflectionException
- Wraps a
java.lang.ClassNotFoundException
or a
java.lang.Exception
that occurred
when trying to invoke the MBean's constructor.
InstanceAlreadyExistsException
- The MBean is already
under the control of the MBean server.
MBeanRegistrationException
- The
preRegister
(MBeanRegistration
interface) method of the MBean has thrown an exception. The
MBean will not be registered.
MBeanException
- The constructor of the MBean has
thrown an exception
NotCompliantMBeanException
- This class is not a JMX
compliant MBean
RuntimeOperationsException
- Wraps a
java.lang.IllegalArgumentException
: The className
passed in parameter is null, the ObjectName
passed
in parameter contains a pattern or no ObjectName
is specified for the MBean.
IOException
- A communication problem occurred when
talking to the MBean server.ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, InstanceNotFoundException, IOException
Instantiates and registers an MBean in the MBean server. The
class loader to be used is identified by its object name. An
object name is associated to the MBean. If the object name of
the loader is null, the ClassLoader that loaded the MBean
server will be used. If the MBean's object name given is null,
the MBean must provide its own name by implementing the MBeanRegistration
interface
and returning the name from the preRegister
method.
This method is equivalent to createMBean(className, name, loaderName, (Object[]) null,
(String[]) null)
.
className
- The class name of the MBean to be instantiated.name
- The object name of the MBean. May be null.loaderName
- The object name of the class loader to be used.
ObjectInstance
, containing the
ObjectName
and the Java class name of the newly
instantiated MBean. If the contained ObjectName
is n
, the contained Java class name is
getMBeanInfo(n)
.getClassName()
.
ReflectionException
- Wraps a
java.lang.ClassNotFoundException
or a
java.lang.Exception
that occurred when trying to
invoke the MBean's constructor.
InstanceAlreadyExistsException
- The MBean is already
under the control of the MBean server.
MBeanRegistrationException
- The
preRegister
(MBeanRegistration
interface) method of the MBean has thrown an exception. The
MBean will not be registered.
MBeanException
- The constructor of the MBean has
thrown an exception
NotCompliantMBeanException
- This class is not a JMX
compliant MBean
InstanceNotFoundException
- The specified class loader
is not registered in the MBean server.
RuntimeOperationsException
- Wraps a
java.lang.IllegalArgumentException
: The className
passed in parameter is null, the ObjectName
passed
in parameter contains a pattern or no ObjectName
is specified for the MBean.
IOException
- A communication problem occurred when
talking to the MBean server.ObjectInstance createMBean(String className, ObjectName name, Object[] params, String[] signature) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, IOException
Default Loader
Repository
to load the class of the MBean. An object name is
associated to the MBean. If the object name given is null, the
MBean must provide its own name by implementing the MBeanRegistration
interface
and returning the name from the preRegister
method.
className
- The class name of the MBean to be instantiated.name
- The object name of the MBean. May be null.params
- An array containing the parameters of the
constructor to be invoked.signature
- An array containing the signature of the
constructor to be invoked.
ObjectInstance
, containing the
ObjectName
and the Java class name of the newly
instantiated MBean. If the contained ObjectName
is n
, the contained Java class name is
getMBeanInfo(n)
.getClassName()
.
ReflectionException
- Wraps a
java.lang.ClassNotFoundException
or a
java.lang.Exception
that occurred when trying to
invoke the MBean's constructor.
InstanceAlreadyExistsException
- The MBean is already
under the control of the MBean server.
MBeanRegistrationException
- The
preRegister
(MBeanRegistration
interface) method of the MBean has thrown an exception. The
MBean will not be registered.
MBeanException
- The constructor of the MBean has
thrown an exception
NotCompliantMBeanException
- This class is not a JMX
compliant MBean
RuntimeOperationsException
- Wraps a
java.lang.IllegalArgumentException
: The className
passed in parameter is null, the ObjectName
passed
in parameter contains a pattern or no ObjectName
is specified for the MBean.
IOException
- A communication problem occurred when
talking to the MBean server.ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, Object[] params, String[] signature) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, InstanceNotFoundException, IOException
MBeanRegistration
interface and returning the name from the preRegister
method.
className
- The class name of the MBean to be instantiated.name
- The object name of the MBean. May be null.params
- An array containing the parameters of the
constructor to be invoked.signature
- An array containing the signature of the
constructor to be invoked.loaderName
- The object name of the class loader to be used.
ObjectInstance
, containing the
ObjectName
and the Java class name of the newly
instantiated MBean. If the contained ObjectName
is n
, the contained Java class name is
getMBeanInfo(n)
.getClassName()
.
ReflectionException
- Wraps a
java.lang.ClassNotFoundException
or a
java.lang.Exception
that occurred when trying to
invoke the MBean's constructor.
InstanceAlreadyExistsException
- The MBean is already
under the control of the MBean server.
MBeanRegistrationException
- The
preRegister
(MBeanRegistration
interface) method of the MBean has thrown an exception. The
MBean will not be registered.
MBeanException
- The constructor of the MBean has
thrown an exception
NotCompliantMBeanException
- This class is not a JMX
compliant MBean
InstanceNotFoundException
- The specified class loader
is not registered in the MBean server.
RuntimeOperationsException
- Wraps a
java.lang.IllegalArgumentException
: The className
passed in parameter is null, the ObjectName
passed
in parameter contains a pattern or no ObjectName
is specified for the MBean.
IOException
- A communication problem occurred when
talking to the MBean server.void unregisterMBean(ObjectName name) throws InstanceNotFoundException, MBeanRegistrationException, IOException
name
- The object name of the MBean to be unregistered.
InstanceNotFoundException
- The MBean specified is not
registered in the MBean server.
MBeanRegistrationException
- The preDeregister
((MBeanRegistration
interface) method of the MBean
has thrown an exception.
RuntimeOperationsException
- Wraps a
java.lang.IllegalArgumentException
: The object
name in parameter is null or the MBean you are when trying to
unregister is the MBeanServerDelegate
MBean.
IOException
- A communication problem occurred when
talking to the MBean server.ObjectInstance getObjectInstance(ObjectName name) throws InstanceNotFoundException, IOException
ObjectInstance
for a given MBean
registered with the MBean server.
name
- The object name of the MBean.
ObjectInstance
associated with the MBean
specified by name. The contained ObjectName
is name
and the contained class name is
getMBeanInfo(name)
.getClassName()
.
InstanceNotFoundException
- The MBean specified is not
registered in the MBean server.
IOException
- A communication problem occurred when
talking to the MBean server.Set queryMBeans(ObjectName name, QueryExp query) throws IOException
ObjectName
and/or a Query expression, a specific
MBean. When the object name is null or no domain and key
properties are specified, all objects are to be selected (and
filtered if a query is specified). It returns the set of
ObjectInstance
objects (containing the
ObjectName
and the Java Class name) for the
selected MBeans.
name
- The object name pattern identifying the MBeans to
be retrieved. If null or no domain and key properties are
specified, all the MBeans registered will be retrieved.query
- The query expression to be applied for selecting
MBeans. If null no query expression will be applied for
selecting MBeans.
ObjectInstance
objects for the selected MBeans. If no MBean satisfies the
query an empty list is returned.
IOException
- A communication problem occurred when
talking to the MBean server.Set queryNames(ObjectName name, QueryExp query) throws IOException
ObjectName
and/or a Query
expression, a specific MBean name (equivalent to testing
whether an MBean is registered). When the object name is null
or no domain and key properties are specified, all objects are
selected (and filtered if a query is specified). It returns the
set of ObjectNames for the MBeans selected.
name
- The object name pattern identifying the MBean names
to be retrieved. If null or no domain and key properties are
specified, the name of all registered MBeans will be retrieved.query
- The query expression to be applied for selecting
MBeans. If null no query expression will be applied for
selecting MBeans.
IOException
- A communication problem occurred when
talking to the MBean server.boolean isRegistered(ObjectName name) throws IOException
name
- The object name of the MBean to be checked.
RuntimeOperationsException
- Wraps a
java.lang.IllegalArgumentException
: The object
name in parameter is null.
IOException
- A communication problem occurred when
talking to the MBean server.Integer getMBeanCount() throws IOException
IOException
- A communication problem occurred when
talking to the MBean server.Object getAttribute(ObjectName name, String attribute) throws MBeanException, AttributeNotFoundException, InstanceNotFoundException, ReflectionException, IOException
name
- The object name of the MBean from which the
attribute is to be retrieved.attribute
- A String specifying the name of the attribute
to be retrieved.
AttributeNotFoundException
- The attribute specified
is not accessible in the MBean.
MBeanException
- Wraps an exception thrown by the
MBean's getter.
InstanceNotFoundException
- The MBean specified is not
registered in the MBean server.
ReflectionException
- Wraps a
java.lang.Exception
thrown when trying to invoke
the setter.
RuntimeOperationsException
- Wraps a
java.lang.IllegalArgumentException
: The object
name in parameter is null or the attribute in parameter is
null.
IOException
- A communication problem occurred when
talking to the MBean server.setAttribute(javax.management.ObjectName, javax.management.Attribute)
AttributeList getAttributes(ObjectName name, String[] attributes) throws InstanceNotFoundException, ReflectionException, IOException
name
- The object name of the MBean from which the
attributes are retrieved.attributes
- A list of the attributes to be retrieved.
InstanceNotFoundException
- The MBean specified is not
registered in the MBean server.
ReflectionException
- An exception occurred when
trying to invoke the getAttributes method of a Dynamic MBean.
RuntimeOperationsException
- Wrap a
java.lang.IllegalArgumentException
: The object
name in parameter is null or attributes in parameter is null.
IOException
- A communication problem occurred when
talking to the MBean server.setAttributes(javax.management.ObjectName, javax.management.AttributeList)
void setAttribute(ObjectName name, Attribute attribute) throws InstanceNotFoundException, AttributeNotFoundException, InvalidAttributeValueException, MBeanException, ReflectionException, IOException
name
- The name of the MBean within which the attribute is
to be set.attribute
- The identification of the attribute to be set
and the value it is to be set to.
InstanceNotFoundException
- The MBean specified is not
registered in the MBean server.
AttributeNotFoundException
- The attribute specified
is not accessible in the MBean.
InvalidAttributeValueException
- The value specified
for the attribute is not valid.
MBeanException
- Wraps an exception thrown by the
MBean's setter.
ReflectionException
- Wraps a
java.lang.Exception
thrown when trying to invoke
the setter.
RuntimeOperationsException
- Wraps a
java.lang.IllegalArgumentException
: The object
name in parameter is null or the attribute in parameter is
null.
IOException
- A communication problem occurred when
talking to the MBean server.getAttribute(javax.management.ObjectName, java.lang.String)
AttributeList setAttributes(ObjectName name, AttributeList attributes) throws InstanceNotFoundException, ReflectionException, IOException
name
- The object name of the MBean within which the
attributes are to be set.attributes
- A list of attributes: The identification of
the attributes to be set and the values they are to be set to.
InstanceNotFoundException
- The MBean specified is not
registered in the MBean server.
ReflectionException
- An exception occurred when
trying to invoke the getAttributes method of a Dynamic MBean.
RuntimeOperationsException
- Wraps a
java.lang.IllegalArgumentException
: The object
name in parameter is null or attributes in parameter is null.
IOException
- A communication problem occurred when
talking to the MBean server.getAttributes(javax.management.ObjectName, java.lang.String[])
Object invoke(ObjectName name, String operationName, Object[] params, String[] signature) throws InstanceNotFoundException, MBeanException, ReflectionException, IOException
name
- The object name of the MBean on which the method is
to be invoked.operationName
- The name of the operation to be invoked.params
- An array containing the parameters to be set when
the operation is invokedsignature
- An array containing the signature of the
operation. The class objects will be loaded using the same
class loader as the one used for loading the MBean on which the
operation was invoked.
InstanceNotFoundException
- The MBean specified is not
registered in the MBean server.
MBeanException
- Wraps an exception thrown by the
MBean's invoked method.
ReflectionException
- Wraps a
java.lang.Exception
thrown while trying to invoke
the method.
IOException
- A communication problem occurred when
talking to the MBean server.String getDefaultDomain() throws IOException
IOException
- A communication problem occurred when
talking to the MBean server.String[] getDomains() throws IOException
Returns the list of domains in which any MBean is currently
registered. A string is in the returned array if and only if
there is at least one MBean registered with an ObjectName whose
getDomain()
is equal to that
string. The order of strings within the returned array is
not defined.
IOException
- A communication problem occurred when
talking to the MBean server.void addNotificationListener(ObjectName name, NotificationListener listener, NotificationFilter filter, Object handback) throws InstanceNotFoundException, IOException
Adds a listener to a registered MBean.
A notification emitted by an MBean will be forwarded by the MBeanServer to the listener. If the source of the notification is a reference to an MBean object, the MBean server will replace it by that MBean's ObjectName. Otherwise the source is unchanged.
name
- The name of the MBean on which the listener should
be added.listener
- The listener object which will handle the
notifications emitted by the registered MBean.filter
- The filter object. If filter is null, no
filtering will be performed before handling notifications.handback
- The context to be sent to the listener when a
notification is emitted.
InstanceNotFoundException
- The MBean name provided
does not match any of the registered MBeans.
IOException
- A communication problem occurred when
talking to the MBean server.removeNotificationListener(ObjectName, NotificationListener)
,
removeNotificationListener(ObjectName, NotificationListener,
NotificationFilter, Object)
void addNotificationListener(ObjectName name, ObjectName listener, NotificationFilter filter, Object handback) throws InstanceNotFoundException, IOException
Adds a listener to a registered MBean.
A notification emitted by an MBean will be forwarded by the MBeanServer to the listener. If the source of the notification is a reference to an MBean object, the MBean server will replace it by that MBean's ObjectName. Otherwise the source is unchanged.
The listener object that receives notifications is the one that is registered with the given name at the time this method is called. Even if it is subsequently unregistered, it will continue to receive notifications.
name
- The name of the MBean on which the listener should
be added.listener
- The object name of the listener which will
handle the notifications emitted by the registered MBean.filter
- The filter object. If filter is null, no
filtering will be performed before handling notifications.handback
- The context to be sent to the listener when a
notification is emitted.
InstanceNotFoundException
- The MBean name of the
notification listener or of the notification broadcaster does
not match any of the registered MBeans.
RuntimeOperationsException
- Wraps an IllegalArgumentException
. The MBean named by
listener
exists but does not implement the NotificationListener
interface.
IOException
- A communication problem occurred when
talking to the MBean server.removeNotificationListener(ObjectName, ObjectName)
,
removeNotificationListener(ObjectName, ObjectName,
NotificationFilter, Object)
void removeNotificationListener(ObjectName name, ObjectName listener) throws InstanceNotFoundException, ListenerNotFoundException, IOException
If the listener is registered more than once, perhaps with different filters or callbacks, this method will remove all those registrations.
name
- The name of the MBean on which the listener should
be removed.listener
- The object name of the listener to be removed.
InstanceNotFoundException
- The MBean name provided
does not match any of the registered MBeans.
ListenerNotFoundException
- The listener is not
registered in the MBean.
IOException
- A communication problem occurred when
talking to the MBean server.addNotificationListener(ObjectName, ObjectName,
NotificationFilter, Object)
void removeNotificationListener(ObjectName name, ObjectName listener, NotificationFilter filter, Object handback) throws InstanceNotFoundException, ListenerNotFoundException, IOException
Removes a listener from a registered MBean.
The MBean must have a listener that exactly matches the
given listener
, filter
, and
handback
parameters. If there is more than one
such listener, only one is removed.
The filter
and handback
parameters
may be null if and only if they are null in a listener to be
removed.
name
- The name of the MBean on which the listener should
be removed.listener
- A listener that was previously added to this
MBean.filter
- The filter that was specified when the listener
was added.handback
- The handback that was specified when the
listener was added.
InstanceNotFoundException
- The MBean name provided
does not match any of the registered MBeans.
ListenerNotFoundException
- The listener is not
registered in the MBean, or it is not registered with the given
filter and handback.
IOException
- A communication problem occurred when
talking to the MBean server.addNotificationListener(ObjectName, ObjectName,
NotificationFilter, Object)
void removeNotificationListener(ObjectName name, NotificationListener listener) throws InstanceNotFoundException, ListenerNotFoundException, IOException
Removes a listener from a registered MBean.
If the listener is registered more than once, perhaps with different filters or callbacks, this method will remove all those registrations.
name
- The name of the MBean on which the listener should
be removed.listener
- The object name of the listener to be removed.
InstanceNotFoundException
- The MBean name provided
does not match any of the registered MBeans.
ListenerNotFoundException
- The listener is not
registered in the MBean.
IOException
- A communication problem occurred when
talking to the MBean server.addNotificationListener(ObjectName, NotificationListener,
NotificationFilter, Object)
void removeNotificationListener(ObjectName name, NotificationListener listener, NotificationFilter filter, Object handback) throws InstanceNotFoundException, ListenerNotFoundException, IOException
Removes a listener from a registered MBean.
The MBean must have a listener that exactly matches the
given listener
, filter
, and
handback
parameters. If there is more than one
such listener, only one is removed.
The filter
and handback
parameters
may be null if and only if they are null in a listener to be
removed.
name
- The name of the MBean on which the listener should
be removed.listener
- A listener that was previously added to this
MBean.filter
- The filter that was specified when the listener
was added.handback
- The handback that was specified when the
listener was added.
InstanceNotFoundException
- The MBean name provided
does not match any of the registered MBeans.
ListenerNotFoundException
- The listener is not
registered in the MBean, or it is not registered with the given
filter and handback.
IOException
- A communication problem occurred when
talking to the MBean server.addNotificationListener(ObjectName, NotificationListener,
NotificationFilter, Object)
MBeanInfo getMBeanInfo(ObjectName name) throws InstanceNotFoundException, IntrospectionException, ReflectionException, IOException
name
- The name of the MBean to analyze
MBeanInfo
allowing the
retrieval of all attributes and operations of this MBean.
IntrospectionException
- An exception occurred during
introspection.
InstanceNotFoundException
- The MBean specified was
not found.
ReflectionException
- An exception occurred when
trying to invoke the getMBeanInfo of a Dynamic MBean.
IOException
- A communication problem occurred when
talking to the MBean server.boolean isInstanceOf(ObjectName name, String className) throws InstanceNotFoundException, IOException
Returns true if the MBean specified is an instance of the specified class, false otherwise.
If name
does not name an MBean, this method
throws InstanceNotFoundException
.
Otherwise, let
X be the MBean named by name
,
L be the ClassLoader of X,
N be the class name in X's MBeanInfo
.
If N equals className
, the result is true.
Otherwise, if L successfully loads both N and
className
, and the second class is assignable from
the first, the result is true.
Otherwise, the result is false.
name
- The ObjectName
of the MBean.className
- The name of the class.
InstanceNotFoundException
- The MBean specified is not
registered in the MBean server.
IOException
- A communication problem occurred when
talking to the MBean server.
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright © 2004, 2010 Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.


| Overview | Module | Use | Devguide | Index |
| Services' Summary | Interfaces' Summary | Properties' Summary | Services' Details | Interfaces' Details | Properties' Details |
| service ParagraphProperties |
|
| Properties' Summary | |
| ParagraphAdjust ParaAdjust |
determines the adjustment of a paragraph. |
| LineSpacing ParaLineSpacing |
[ OPTIONAL ] contains the type of the line spacing of a paragraph. |
| ::com::sun::star::util::Color ParaBackColor |
[ OPTIONAL ] contains the paragraph background color. |
| boolean ParaBackTransparent |
[ OPTIONAL ] This value is true if the paragraph background color is set to transparent. |
| string ParaBackGraphicURL |
[ OPTIONAL ] contains the value of a link for the background graphic of a paragraph. |
| string ParaBackGraphicFilter |
[ OPTIONAL ] contains the name of the graphic filter for the background graphic of a paragraph. |
| GraphicLocation ParaBackGraphicLocation |
[ OPTIONAL ] contains the value for the position of a background graphic. |
| short ParaLastLineAdjust |
determines the adjustment of the last line. |
| boolean ParaExpandSingleWord |
[ OPTIONAL ] determines if single words are stretched. |
| long ParaLeftMargin |
determines the left margin of the paragraph in 100th mm. |
| long ParaRightMargin |
determines the right margin of the paragraph in 100th mm. |
| long ParaTopMargin |
determines the top margin of the paragraph in 100th mm. |
| long ParaBottomMargin |
determines the bottom margin of the paragraph in 100th mm. |
| boolean ParaLineNumberCount |
[ OPTIONAL ] determines if the paragraph is included in the line numbering. |
| long ParaLineNumberStartValue |
[ OPTIONAL ] contains the start value for the line numbering. |
| string PageDescName |
[ OPTIONAL ] If this property is set, it creates a page break before the paragraph it belongs to and assigns the value as the name of the new page style sheet to use. |
| short PageNumberOffset |
[ OPTIONAL ] If a page break property is set at a paragraph, this property contains the new value for the page number. |
| boolean ParaRegisterModeActive |
[ OPTIONAL ] determines if the register mode is applied to a paragraph. |
| sequence< TabStop > ParaTabStops |
[ OPTIONAL ] specifies the positions and kinds of thei tab stops within this paragraph. |
| string ParaStyleName |
[ OPTIONAL ] contains the name of the current paragraph style. |
| [ readonly maybevoid ] string PageStyleName |
[ OPTIONAL ] contains the name of the current page style. |
| DropCapFormat DropCapFormat |
[ OPTIONAL ] specifies whether the first characters of the paragraph are displayed in capital letters and how they are formatted. |
| boolean DropCapWholeWord |
[ OPTIONAL ] specifies if the property DropCapFormat is applied to the whole first word. |
| boolean ParaKeepTogether |
[ OPTIONAL ] Setting this property to true prevents page or column breaks between this and the following paragraph. |
| boolean ParaSplit |
[ OPTIONAL ] Setting this property to false prevents the paragraph from getting split into two pages or columns. |
| short NumberingLevel |
[ OPTIONAL ] specifies the numbering level of the paragraph. |
| ::com::sun::star::container::XIndexReplace NumberingRules |
[ OPTIONAL ] contains the numbering rules applied to this paragraph. |
| short NumberingStartValue |
[ OPTIONAL ] specifies the start value for numbering if a new numbering starts at this paragraph. |
| boolean ParaIsNumberingRestart |
[ OPTIONAL ] determines if the numbering rules restart, counting at the current paragraph. |
| string NumberingStyleName |
[ OPTIONAL ] specifies the name of the style for the numbering. |
| byte ParaOrphans |
[ OPTIONAL ] specifies the minimum number of lines of the paragraph that have to be at bottom of a page if the paragraph is spread over more than one page. |
| byte ParaWidows |
[ OPTIONAL ] specifies the minimum number of lines of the paragraph that have to be at top of a page if the paragraph is spread over more than one page. |
| ::com::sun::star::table::ShadowFormat ParaShadowFormat |
[ OPTIONAL ] determines the type, color, and size of the shadow. |
| ::com::sun::star::table::BorderLine LeftBorder |
[ OPTIONAL ] contains the left border of the object. |
| ::com::sun::star::table::BorderLine RightBorder |
[ OPTIONAL ] contains the right border of the object. |
| ::com::sun::star::table::BorderLine TopBorder |
[ OPTIONAL ] contains the top border of the object. |
| ::com::sun::star::table::BorderLine BottomBorder |
[ OPTIONAL ] contains the bottom border of the object. |
| long BorderDistance |
[ OPTIONAL ] contains the distance from the border to the object. |
| long LeftBorderDistance |
[ OPTIONAL ] contains the distance from the left border to the object. |
| long RightBorderDistance |
[ OPTIONAL ] contains the distance from the right border to the object. |
| long TopBorderDistance |
[ OPTIONAL ] contains the distance from the top border to the object. |
| long BottomBorderDistance |
[ OPTIONAL ] contains the distance from the bottom border to the object. |
| BreakType BreakType |
[ OPTIONAL ] determins the type of break that is applied at the beginning of the table. |
| string DropCapCharStyleName |
[ OPTIONAL ] specifies the character style name for drop caps. |
| long ParaFirstLineIndent |
[ OPTIONAL ] specifies the indent for the first line. |
| boolean ParaIsAutoFirstLineIndent |
[ OPTIONAL ] determines if the first line should be indented automatically. |
| boolean ParaIsHyphenation |
specifies if automatic hyphenation is applied. |
| short ParaHyphenationMaxHyphens |
[ OPTIONAL ] specifies the maximum number of consecutive hyphens. |
| short ParaHyphenationMaxLeadingChars |
[ OPTIONAL ] specifies the maximum number of characters to remain before the hyphen character (when hyphenation is applied). |
| short ParaHyphenationMaxTrailingChars |
[ OPTIONAL ] specifies the maximum number of characters to remain after the hyphen character (when hyphenation is applied). |
| short ParaVertAlignment |
[ OPTIONAL ] specifies the vertical alignment of a paragraph. |
| ::com::sun::star::container::XNameContainer ParaUserDefinedAttributes |
[ OPTIONAL ] this property stores xml attributes. They will be saved to and restored from automatic styles inside xml files. |
| [ maybevoid ] boolean NumberingIsNumber |
[ OPTIONAL ] returns false if the paragraph is part of a numbering, but has no numbering label. |
| [ maybevoid ] boolean ParaIsConnectBorder |
[ OPTIONAL ] the property determines if borders set at a paragraph are merged with the next paragraph. |
| string ListId |
[ OPTIONAL ] specifies the id of the list to which the paragraph belongs |
| short OutlineLevel |
[ OPTIONAL ] specifies the outline level to which the paragraph belongs |
| Properties' Details | |
ParaAdjust
|
|
ParaLineSpacing
|
|
ParaBackColor
|
|
ParaBackTransparent
|
|
ParaBackGraphicURL
|
|
ParaBackGraphicFilter
|
|
ParaBackGraphicLocation
|
|
ParaLastLineAdjust
|
|
ParaExpandSingleWord
|
|
ParaLeftMargin
|
|
ParaRightMargin
|
|
ParaTopMargin
|
|
ParaBottomMargin
|
|
ParaLineNumberCount
|
|
ParaLineNumberStartValue
|
|
PageDescName
|
|
PageNumberOffset
|
|
ParaRegisterModeActive
|
|
ParaTabStops
|
|
ParaStyleName
|
|
PageStyleName
|
|
DropCapFormat
|
|
DropCapWholeWord
|
|
ParaKeepTogether
|
|
ParaSplit
|
|
NumberingLevel
|
|
NumberingRules
|
|
NumberingStartValue
|
|
ParaIsNumberingRestart
|
|
NumberingStyleName
|
|
ParaOrphans
|
|
ParaWidows
|
|
ParaShadowFormat
|
|
LeftBorder
|
|
RightBorder
|
|
TopBorder
|
|
BottomBorder
|
|
BorderDistance
|
|
LeftBorderDistance
|
|
RightBorderDistance
|
|
TopBorderDistance
|
|
BottomBorderDistance
|
|
BreakType
|
|
DropCapCharStyleName
|
|
ParaFirstLineIndent
|
|
ParaIsAutoFirstLineIndent
|
|
ParaIsHyphenation
|
|
ParaHyphenationMaxHyphens
|
|
ParaHyphenationMaxLeadingChars
|
|
ParaHyphenationMaxTrailingChars
|
|
ParaVertAlignment
|
|
ParaUserDefinedAttributes
|
|
NumberingIsNumber
|
|
ParaIsConnectBorder
|
|
ListId
|
|
OutlineLevel
|
Copyright © 2013, The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache, the Apache feather logo, Apache OpenOffice and OpenOffice.org are trademarks of The Apache Software Foundation. Other names may be trademarks of their respective owners.


http://www.speakers-podium.com/susangranger.
Susan Granger's review of "THE RAGE: CARRIE 2" (MGM/United Artists)
This sequel is so forgettable you probably won't even want to bother renting it on video. "Carrie," the powerful 1976 film based on the best-selling Stephen King novel and directed by Brian DePalma, spawned a number of teenage-slasher pictures but this travesty, written by Rafael Moreu ("Hackers") and directed by Katt Shea ("Poison Ivy"), tarnishes the memory of the original. Bright-eyed newcomer Emily Bergl plays Rachel, a nasty high-school outcast bursting with adolescent rebellion and rage. Her mother is confined to a sanitarium; she lives in a trailer with emotionally abusive foster parents; and her best friend just committed suicide by jumping from the school's roof after the girl was humiliated as a sex object by a group of football players who made a competitive game of seducing girls for points. A whiny guidance counselor, Amy Irving (the only token original "Carrie" alumna), recognizes the potential destructiveness of Rachel's telekinetic powers - meaning she can move objects with her mind - but fails to get out of the way when Rachel's emotions explode, ignited by her relationship with a football jock, Jason London. "Sometimes I wish I could be one of the shiny, happy people," muses Rachel before she begins her post-homecoming game party massacre - causing one of many unintentional laughs. On the Granger Movie Gauge of 1 to 10, "The Rage: Carrie 2" is a viciously predictable 2 with a fiery, bloody, gruesome conclusion.
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


OPTIMAL COCOONING
SUPPORTING VICTIMS
CONTACT / ENGAGEMENT
ALERT LEAFLET
CRIME PREVENTION
POLICE.UK (DATA USAGE)
CLICK FOR OPTIONS MENU


source: http://www.securityfocus.com/bid/44421/info NitroView ESM is prone to a remote command-execution vulnerability because it fails to adequately sanitize user-supplied input. Successful attacks may allow an attacker to execute arbitrary commands on the appliance in the context of the webserver process. NitroView ESM 8.4.0a is affected; other versions may also be vulnerable.
[*] Tested on v8.4.0a "NitroSecurity <IP_ADDRESS>-24nssmp64 GNU/Linux" [*] No authentication required [*] "ESSPMDebug=1" in "/usr/local/ess/CPConsoleServer.cfg" required


17 South African black rhino relocated to Malawi
LIONGWE, Nov 14 — Malawi has received 17 black rhinos from South Africa under a programme to replenish the endangered species which has been extinct in the country since the 1970s, a conservation charity said yesterday.
Africa Parks, a charity headed by Britain's Prince Harry, said the operation began on Monday, beginning with an eight-hour drive from South Africa's Ezemvelo KZN Wildlife game reserve.
The rhinos were then released into Liwonde National Park in southern Malawi, where British troops are training local anti-poaching rangers.
“This is one of the largest international black rhino translocations to date,” said a statement by Peter Fearnhead of Africa Parks, which rehabilitates and manages around a dozen parks in 10 countries.
The operation was carried out in conjunction with WWF South Africa and the Malawian and South African governments.
“Our shared vision is to bolster Malawi's existing rhino populations and to support regional efforts to conserve this critically endangered species,” Fearnhead said.
Brighton Kumchedwa, Malawi's director of wildlife and parks, said the initiative would bolster the population of rhino, which went extinct in Malawi in 1981 before the reintroduction of four rhinos in 1993.
Malawi authorities have refused to state the current rhino population, citing security reasons.
But according to the Central African Wilderness Safaris website, only about 10 rhinos live in Malawi's parks.
Fearnhead said the newly introduced rhinos would be fitted with GPS sensors, and that the animals would be tracked by aerial surveillance and daily ranger patrols.
Once plentiful across sub-Saharan Africa, black rhinos first suffered from hunting by European settlers. Later, poachers largely wiped them out, with only 2,475 recorded in 1993, according to the World Wildlife Fund.
Conservation efforts have since brought the population back up to around 5,000. — AFP-Relaxnews


14.6 Implementation and Analysis of
Huffman Coding
With Huffman
coding, we try to compress data by encoding symbols as Huffman
codes generated in a Huffman tree. To uncompress the data, we
rebuild the Huffman tree used in the compression process and
convert each code back to the symbol it represents. In the
implementation presented here, a symbol in the original data
is one byte.
14.6.1 huffman_compress
The huffman_compress operation (see Example
14.3) compresses data using Huffman coding. It begins by
scanning the data to determine the frequency of each symbol.
The frequencies are placed in an array, freqs.
After scanning the data, the frequencies are scaled so that each can be
represented in a single byte. This is done by determining the
maximum number of times any symbol occurs in the data and
adjusting the other frequencies accordingly. Since symbols
that do not occur in the data should be the only ones with
frequencies of 0, we perform a simple test to ensure that any
nonzero frequencies that scale to less than 1 end up being set
to 1 instead of 0.
Once we have determined and scaled the
frequencies, we call build_tree
to build the Huffman tree. The build_tree function begins by
inserting into a priority queue one binary tree for each
symbol occurring at least once in the data. Nodes in the trees
are HuffNode structures (see Example
14.1). This structure consists
of two members: symbol is a symbol from the
data (used only in leaf nodes), and freq is a
frequency. Each tree initially contains only a single node,
which stores one symbol and its scaled frequency as recorded
and scaled in the freqs array.
To build the Huffman tree, we use a loop to
perform size - 1 merges of the trees within
the priority queue. On each iteration, we call pqueue_extract twice to extract the
two binary trees whose root nodes have the smallest
frequencies. We then sum the frequencies, merge the trees into
a new one, store the sum of the frequencies in the new tree's
root, and insert the new tree back into the priority queue. We
continue this process until, after size - 1
iterations, the only tree remaining in the priority queue is
the final Huffman tree.
Using the Huffman tree built in the previous
step, we call build_table to build a table of the Huffman codes
assigned to every symbol. Each entry in the table is a
HuffCode structure. This structure consists of
three members: used is a flag set to 1 or
indicating whether the entry has a code stored in it,
code is the Huffman code stored in the entry,
and size is the number of bits the code
contains. Each code is a short integer because it can be
proven (although this is not shown here) that when all
frequencies are scaled to fit within one byte, no code will be
longer than 16 bits.
We build the table by traversing the Huffman
tree using a preorder traversal (see Chapter
9). In each activation of build_table, code
keeps track of the current Huffman code being generated, and
size maintains the number of bits it contains.
As we traverse the tree, each time we move to the left, we
append to the code; each time we move to the right, we append
1. Once we encounter a leaf node, we store the Huffman code
into the table of codes at the appropriate entry. As we store
each code, we call the network function htons as a convenient way to ensure
that the code is stored in big-endian format. This is the
format required when we actually generate the compressed data
in the next step as well as when we uncompress it.
While generating the compressed data, we use
ipos to keep track of the current byte being
processed in the original data, and opos to
keep track of the current bit we are writing to the buffer of
compressed data. To begin, we write a header that will help to
rebuild the Huffman tree in huffman_uncompress. The header
contains a four-byte value for the number of symbols about to
be encoded followed by the scaled frequencies of all 256
possible symbols, including those that are 0. Finally, to
encode the data, we read one symbol at a time, look up its
Huffman code in the table, and write each code to the
compressed buffer. We allocate space for each byte in the
compressed buffer as we need it.
The runtime complexity of huffman_compress is O (n),
where n is the number of
symbols in the original data. Only two parts of the algorithm
depend on the size of the data: the part in which we determine
the frequency of each symbol, and the part in which we read
the data so we can compress it. Each of these runs in O (n)
time. The time to build the Huffman tree does not affect the
complexity of huffman_compress
because the running time of this process depends only on the
number of different symbols in the data, which in this
implementation is a constant, 256.
14.6.2 huffman_uncompress
The huffman_uncompress operation (see Example
14.3) uncompresses data compressed with huffman_compress. This operation
begins by reading the header prepended to the compressed data.
Recall that the first four bytes of the header contain the
number of encoded symbols. This value is stored in
size. The next 256 bytes contain the scaled
frequencies for all symbols.
Using the information stored in the header,
we call build_tree to rebuild
the Huffman tree used in compressing the data. Once we have
rebuilt the tree, the next step is to generate the buffer of
restored data. To do this, we read the compressed data bit by
bit. Starting at the root of the Huffman tree, whenever we
encounter a bit that is in the data, we move to the left;
whenever we encounter a bit that is 1, we move to the right.
Once we encounter a leaf node, we have obtained the Huffman
code for a symbol. The decoded symbol resides in the leaf.
Thus, we write this symbol to the buffer of restored data.
After writing the symbol, we reposition ourselves at the root
of the tree and repeat the process. We use
ipos to keep track of the current bit being
processed in the compressed data, and opos to
keep track of the current byte we are writing to the buffer of
restored data. Once opos reaches
size, we have regenerated all of the symbols
from the original data.
The runtime complexity of huffman_uncompress is O (n),
where n is the number of
symbols in the original data. This is because for each of the
n symbols we decode, the number
of levels we must descend in the Huffman tree is a bounded
constant that depends on the number of different symbols in
the data: in this implementation, 256. The time to build the
Huffman tree does not affect the complexity of huffman_uncompress because this
process depends only on the number of different symbols in
the data.
Example 14.3.
Implementation of Huffman Coding /*****************************************************************************
* *
* ------------------------------- huffman.c ------------------------------ *
* *
*****************************************************************************/
#include <limits.h>
#include <netinet/in.h>
#include <stdlib.h>
#include <string.h>
#include "bit.h"
#include "bitree.h"
#include "compress.h"
#include "pqueue.h"
/*****************************************************************************
* *
* ----------------------------- compare_freq ----------------------------- *
* *
*****************************************************************************/
static int compare_freq(const void *tree1, const void *tree2) {
HuffNode *root1,
*root2;
/*****************************************************************************
* *
* Compare the frequencies stored in the root nodes of two binary trees. *
* *
*****************************************************************************/
root1 = (HuffNode *)bitree_data(bitree_root((const BiTree *)tree1));
root2 = (HuffNode *)bitree_data(bitree_root((const BiTree *)tree2));
if (root1->freq < root2->freq)
return 1;
else if (root1->freq > root2->freq)
return -1;
else
return 0;
}
/*****************************************************************************
* *
* ----------------------------- destroy_tree ----------------------------- *
* *
*****************************************************************************/
static void destroy_tree(void *tree) {
/*****************************************************************************
* *
* Destroy and free one binary tree from the priority queue of trees. *
* *
*****************************************************************************/
bitree_destroy(tree);
free(tree);
return;
}
/*****************************************************************************
* *
* ------------------------------ build_tree ------------------------------ *
* *
*****************************************************************************/
static int build_tree(int *freqs, BiTree **tree) {
BiTree *init,
*merge,
*left,
*right;
PQueue pqueue;
HuffNode *data;
int size,
c;
/*****************************************************************************
* *
* Initialize the priority queue of binary trees. *
* *
*****************************************************************************/
*tree = NULL;
pqueue_init(&pqueue, compare_freq, destroy_tree);
for (c = 0; c <= UCHAR_MAX; c++) {
if (freqs[c] != 0) {
/***********************************************************************
* *
* Set up a binary tree for the current symbol and its frequency. *
* *
***********************************************************************/
if ((init = (BiTree *)malloc(sizeof(BiTree))) == NULL) {
pqueue_destroy(&pqueue);
return -1;
}
bitree_init(init, free);
if ((data = (HuffNode *)malloc(sizeof(HuffNode))) == NULL) {
pqueue_destroy(&pqueue);
return -1;
}
data->symbol = c;
data->freq = freqs[c];
if (bitree_ins_left(init, NULL, data) != 0) {
free(data);
bitree_destroy(init);
free(init);
pqueue_destroy(&pqueue);
return -1;
}
/***********************************************************************
* *
* Insert the binary tree into the priority queue. *
* *
***********************************************************************/
if (pqueue_insert(&pqueue, init) != 0) {
bitree_destroy(init);
free(init);
pqueue_destroy(&pqueue);
return -1;
}
}
}
/*****************************************************************************
* *
* Build a Huffman tree by merging trees in the priority queue. *
* *
*****************************************************************************/
size = pqueue_size(&pqueue);
for (c = 1; c <= size - 1; c++) {
/**************************************************************************
* *
* Allocate storage for the next merged tree. *
* *
**************************************************************************/
if ((merge = (BiTree *)malloc(sizeof(BiTree))) == NULL) {
pqueue_destroy(&pqueue);
return -1;
}
/**************************************************************************
* *
* Extract the two trees whose root nodes have the smallest frequencies. *
* *
**************************************************************************/
if (pqueue_extract(&pqueue, (void **)&left) != 0) {
pqueue_destroy(&pqueue);
free(merge);
return -1;
}
if (pqueue_extract(&pqueue, (void **)&right) != 0) {
pqueue_destroy(&pqueue);
free(merge);
return -1;
}
/**************************************************************************
* *
* Allocate storage for the data in the root node of the merged tree. *
* *
**************************************************************************/
if ((data = (HuffNode *)malloc(sizeof(HuffNode))) == NULL) {
pqueue_destroy(&pqueue);
free(merge);
return -1;
}
memset(data, 0, sizeof(HuffNode));
/**************************************************************************
* *
* Sum the frequencies in the root nodes of the trees being merged. *
* *
**************************************************************************/
data->freq = ((HuffNode *)bitree_data(bitree_root(left)))->freq +
((HuffNode *)bitree_data(bitree_root(right)))->freq;
/**************************************************************************
* *
* Merge the two trees. *
* *
**************************************************************************/
if (bitree_merge(merge, left, right, data) != 0) {
pqueue_destroy(&pqueue);
free(merge);
return -1;
}
/**************************************************************************
* *
* Insert the merged tree into the priority queue and free the others. *
* *
**************************************************************************/
if (pqueue_insert(&pqueue, merge) != 0) {
pqueue_destroy(&pqueue);
bitree_destroy(merge);
free(merge);
return -1;
}
free(left);
free(right);
}
/*****************************************************************************
* *
* The last tree in the priority queue is the Huffman tree. *
* *
*****************************************************************************/
if (pqueue_extract(&pqueue, (void **)tree) != 0) {
pqueue_destroy(&pqueue);
return -1;
}
else {
pqueue_destroy(&pqueue);
}
return 0;
}
/*****************************************************************************
* *
* ------------------------------ build_table ----------------------------- *
* *
*****************************************************************************/
static void build_table(BiTreeNode *node, unsigned short code, unsigned char
size, HuffCode *table) {
if (!bitree_is_eob(node)) {
if (!bitree_is_eob(bitree_left(node))) {
/***********************************************************************
* *
* Move to the left and append 0 to the current code. *
* *
***********************************************************************/
build_table(bitree_left(node), code << 1, size + 1, table);
}
if (!bitree_is_eob(bitree_right(node))) {
/***********************************************************************
* *
* Move to the right and append 1 to the current code. *
* *
***********************************************************************/
build_table(bitree_right(node), (code << 1) | 0x0001, size + 1, table);
}
if (bitree_is_eob(bitree_left(node))&&bitree_is_eob(bitree_right(node))) {
/***********************************************************************
* *
* Ensure that the current code is in big-endian format. *
* *
***********************************************************************/
code = htons(code);
/***********************************************************************
* *
* Assign the current code to the symbol in the leaf node. *
* *
***********************************************************************/
table[((HuffNode *)bitree_data(node))->symbol].used = 1;
table[((HuffNode *)bitree_data(node))->symbol].code = code;
table[((HuffNode *)bitree_data(node))->symbol].size = size;
}
}
return;
}
/*****************************************************************************
* *
* --------------------------- huffman_compress --------------------------- *
* *
*****************************************************************************/
int huffman_compress(const unsigned char *original, unsigned char
**compressed, int size) {
BiTree *tree;
HuffCode table[UCHAR_MAX + 1];
int freqs[UCHAR_MAX + 1],
max,
scale,
hsize,
ipos,
opos,
cpos,
c,
i;
unsigned char *comp,
*temp;
/*****************************************************************************
* *
* Initially, there is no buffer of compressed data. *
* *
*****************************************************************************/
*compressed = NULL;
/*****************************************************************************
* *
* Get the frequency of each symbol in the original data. *
* *
*****************************************************************************/
for (c = 0; c <= UCHAR_MAX; c++)
freqs[c] = 0;
ipos = 0;
if (size > 0) {
while (ipos < size) {
freqs[original[ipos]]++;
ipos++;
}
}
/*****************************************************************************
* *
* Scale the frequencies to fit into one byte. *
* *
*****************************************************************************/
max = UCHAR_MAX;
for (c = 0; c <= UCHAR_MAX; c++) {
if (freqs[c] > max)
max = freqs[c];
}
for (c = 0; c <= UCHAR_MAX; c++) {
scale = (int)(freqs[c] / ((double)max / (double)UCHAR_MAX));
if (scale == 0 && freqs[c] != 0)
freqs[c] = 1;
else
freqs[c] = scale;
}
/*****************************************************************************
* *
* Build the Huffman tree and table of codes for the data. *
* *
*****************************************************************************/
if (build_tree(freqs, &tree) != 0)
return -1;
for (c = 0; c <= UCHAR_MAX; c++)
memset(&table[c], 0, sizeof(HuffCode));
build_table(bitree_root(tree), 0x0000, 0, table);
bitree_destroy(tree);
free(tree);
/*****************************************************************************
* *
* Write the header information. *
* *
*****************************************************************************/
hsize = sizeof(int) + (UCHAR_MAX + 1);
if ((comp = (unsigned char *)malloc(hsize)) == NULL)
return -1;
memcpy(comp, &size, sizeof(int));
for (c = 0; c <= UCHAR_MAX; c++)
comp[sizeof(int) + c] = (unsigned char)freqs[c];
/*****************************************************************************
* *
* Compress the data. *
* *
*****************************************************************************/
ipos = 0;
opos = hsize * 8;
while (ipos < size) {
/**************************************************************************
* *
* Get the next symbol in the original data. *
* *
**************************************************************************/
c = original[ipos];
/**************************************************************************
* *
* Write the code for the symbol to the buffer of compressed data. *
* *
**************************************************************************/
for (i = 0; i < table[c].size; i++) {
if (opos % 8 == 0) {
/********************************************************************
* *
* Allocate another byte for the buffer of compressed data. *
* *
********************************************************************/
if ((temp = (unsigned char *)realloc(comp,(opos / 8) + 1)) == NULL) {
free(comp);
return -1;
}
comp = temp;
}
cpos = (sizeof(short) * 8) - table[c].size + i;
bit_set(comp, opos, bit_get((unsigned char *)&table[c].code, cpos));
opos++;
}
ipos++;
}
/*****************************************************************************
* *
* Point to the buffer of compressed data. *
* *
*****************************************************************************/
*compressed = comp;
/*****************************************************************************
* *
* Return the number of bytes in the compressed data. *
* *
*****************************************************************************/
return ((opos - 1) / 8) + 1;
}
/*****************************************************************************
* *
* -------------------------- huffman_uncompress -------------------------- *
* *
*****************************************************************************/
int huffman_uncompress(const unsigned char *compressed, unsigned char
**original) {
BiTree *tree;
BiTreeNode *node;
int freqs[UCHAR_MAX + 1],
hsize,
size,
ipos,
opos,
state,
c;
unsigned char *orig,
*temp;
/*****************************************************************************
* *
* Initially there is no buffer of original data. *
* *
*****************************************************************************/
*original = orig = NULL;
/*****************************************************************************
* *
* Get the header information from the buffer of compressed data. *
* *
*****************************************************************************/
hsize = sizeof(int) + (UCHAR_MAX + 1);
memcpy(&size, compressed, sizeof(int));
for (c = 0; c <= UCHAR_MAX; c++)
freqs[c] = compressed[sizeof(int) + c];
/*****************************************************************************
* *
* Rebuild the Huffman tree used previously to compress the data. *
* *
*****************************************************************************/
if (build_tree(freqs, &tree) != 0)
return -1;
/*****************************************************************************
* *
* Uncompress the data. *
* *
*****************************************************************************/
ipos = hsize * 8;
opos = 0;
node = bitree_root(tree);
while (opos < size) {
/**************************************************************************
* *
* Get the next bit in the compressed data. *
* *
**************************************************************************/
state = bit_get(compressed, ipos);
ipos++;
if (state == 0) {
/***********************************************************************
* *
* Move to the left. *
* *
***********************************************************************/
if (bitree_is_eob(node) || bitree_is_eob(bitree_left(node))) {
bitree_destroy(tree);
free(tree);
return -1;
}
else
node = bitree_left(node);
}
else {
/***********************************************************************
* *
* Move to the right. *
* *
***********************************************************************/
if (bitree_is_eob(node) || bitree_is_eob(bitree_right(node))) {
bitree_destroy(tree);
free(tree);
return -1;
}
else
node = bitree_right(node);
}
if (bitree_is_eob(bitree_left(node))&&bitree_is_eob(bitree_right(node))) {
/***********************************************************************
* *
* Write the symbol in the leaf node to the buffer of original data. *
* *
***********************************************************************/
if (opos > 0) {
if ((temp = (unsigned char *)realloc(orig, opos + 1)) == NULL) {
bitree_destroy(tree);
free(tree);
free(orig);
return -1;
}
orig = temp;
}
else {
if ((orig = (unsigned char *)malloc(1)) == NULL) {
bitree_destroy(tree);
free(tree);
return -1;
}
}
orig[opos] = ((HuffNode *)bitree_data(node))->symbol;
opos++;
/***********************************************************************
* *
* Move back to the top of the tree. *
* *
***********************************************************************/
node = bitree_root(tree);
}
}
bitree_destroy(tree);
free(tree);
/*****************************************************************************
* *
* Point to the buffer of original data. *
* *
*****************************************************************************/
*original = orig;
/*****************************************************************************
* *
* Return the number of bytes in the original data. *
* *
*****************************************************************************/
return opos;
}
|


Web Font Loader Demos
Demonstrations of pure CSS and JavaScript-enhanced use of @font-face.
Note that many of these demonstrations use a slow proxy to
increase the amount of time it takes to load a font. We do this to make it
more obvious that the events system is working. It does not represent
real world usage.
Modules
Web Font Loader provides modules to load fonts from many places.
- Google / CSS Link: Load fonts from Google with a
link
tag. Consider this a base case for font loading.
- Google / Web Font Loader: Load fonts from Google with Web Font Loader.
- Typekit / Web Font Loader: Load fonts from Typekit with Web Font Loader.
- Custom / Web Font Loader: Load fonts from your own CSS with Web Font Loader.
- Fontdeck / Web Font Loader: Load fonts from Fontdeck with Web Font Loader.
- Monotype / Web Font Loader: Load fonts from fonts.com with Web Font Loader.
Modules in Iframes
Web Font Loader provides the ability to load fonts in child iframes using modules, instead of the main window.
- Google / Web Font Loader: Load fonts from Google in a child iframe with Web Font Loader.
- Typekit / Web Font Loader: Load fonts from Typekit in a child iframe with Web Font Loader.
- Custom / Web Font Loader: Load fonts from your own CSS in a child iframe with Web Font Loader.
- Fontdeck / Web Font Loader: Their demo fonts seem to be broken at the moment, so we don't have an iframe demo of this module.
- Monotype / Web Font Loader: Load fonts from fonts.com in a child iframe with Web Font Loader.
Events
Web Font Loader provides events to help control font rendering across browsers. Here are some sample uses.
- Show when rendered (CSS): Use CSS to show part of the page only when the font has rendered. (Webkit style)
- Show when rendered (JS): Use JS to show part of the page only when the font has rendered. (Webkit style)
- Fallback before rendered (CSS): Use CSS to show fallback font before the font has rendered. (Mozilla style)
- Show loading message (CSS): Use CSS to show a message while the font loads.
- Show loading message (JS): Use JS to show a message while the font loads.
More Events
More complex samples using events.
- Multiple font loads: Use CSS to control more than one font.
- Multiple typefaces: The full CSS and JS event cycle when using multiple typefaces.
- Multiple variations: The full CSS and JS event cycle when using multiple weights and styles of one typeface.
IE Behavior
Web Font Loader helps workaround IE's page blocking behavior.
- Slow Link: Demonstrate that IE blocks the whole page when loading fonts via a LINK tag.
- Fast JS: By default, Web Font Loader works around the default IE loading behavior.
- Slow JS: Restore the default IE loading behavior.
Tests
Additional demo pages to test specific functionality.
- Typekit with Multiple Variations
- Default font stacks for FontWatchRunner


Change your setting, {{username}}
| First Name | {{firstName}} |
| Last Name | {{lastName}} |
| {{email}} | |
| Phone NO | {{phone | tel}} |
| Address | {{address}} |
| City | {{city}} |
| State | {{state}} |
| Zip | {{zip}} |
| First Name | {{firstName}} |
| Last Name | {{lastName}} |
| {{email}} | |
| Phone NO | {{phone | tel}} |
| Address | {{address}} |
| City | {{city}} |
| State | {{state}} |
| Zip | {{zip}} |


This animation uses the css -webkit-transition property to apply other css properties over a specified time by the order of property/animation_name time_in_seconds.


---
layout: post
title: Bubba Two
date: '2010-07-30T07:30:00.000-07:00'
author: Naren Salem
tags:
modified_time: '2010-07-30T07:30:25.817-07:00'
blogger_id: tag:blogger.com,1999:blog-360727496473333342.post-8850405018800384078
blogger_orig_url: https://frigments.blogspot.com/2010/07/bubba-two.html
---
I was killing some time at Barnes and Noble the other day and ended up browsing the Linux User and Developer magazine. (Why is it that I get an impression that Linux thrives more in the UK?) Anyway I saw this article about a pretty cool home server based on Linux. Yeah, it is called the Bubba Two. But I love the looks and the specs. Anyone out there have one of these? Wonder how it measures up in useability terms.


More than 11 years in mobile apps development.
Curious to know how things work and interested in making things work.
Most of my work involved different aspects mobile application development for retail clients.
Started my career with Windows Mobile development in C#.
For last few years, working exclusively in iOS.
The possibility of transforming an idea to something a human can touch and feel.
Coding an emotion. Packing an experience. Applying artistic logic. The list goes on.
More on my professional assignments here.A functional prototype which leverage the flexibilty of IOT to feed real time data to enterprise systems.
A video streaming app that connects support team with service users to easily trouble shoot the issues.
The app helps you to control the pace of your breathing with a visual cue and slowly guides to a meditative state that helps to slip to sleep.
Here is an article that discuss the details about this project
CloseA 3D printed robotic arm built on a stack of open sourced, open hardware technologies intended to automate card swiping during automated testing with Calabash.
Here is an article that discuss the details about this project
CloseAn IOT system that can: Monitor both outside temperature and inside humidity, Determine the ideal inside humidity, Capable of controlling a humidifier in order to reach the ideal inside humidity percentile.
Here is an article that discuss the details about this project CloseGoogle Home and Amazon echo in a single box.
Here is an article that discuss the details about this project CloseUpgrading of a stereo headphone with Bluetooth circuit.
Here is an article that discuss the details about this project CloseLorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia neque assumenda ipsam nihil, molestias magnam, recusandae quos quis inventore quisquam velit asperiores, vitae? Reprehenderit soluta, eos quod consequuntur itaque. Nam.
Close


Watch: Hillary Clinton Mimics Trump Taking Orders on 'Secret Phone Call with Vladimir' | Breitbart
by Pam KeyAppearing Wednesday at The New York Times’ DealBook conference, 2016 presidential candidate Hillary Clinton mimicked President Donald Trump on a “secret phone call” with Russian President Vladimir Putin.
On Trump, Clinton said, “He could care less about corruption in Ukraine — what he wants is dirt on Joe Biden whether it’s real or not. In fact, from everything we know, it’s not.”
She continued, “The whole thing is so ridiculous that then they would be trying to number one not only put something on Joe Biden, which from everything we know is absolutely untrue, but try to prove that it wasn’t Russia that interfered in the 2016 election, it was little Ukraine.”
She added, “I do live rent-free in Donald Trump’s head, I’m aware of that. But even for that, it’s hard to imagine how they could be sitting around at, you know, the golf club or whatever and say, “Oh we gotta prove that Ukraine interfered.”
Clinton mimicked Trump saying, “Vladimir just said in my last secret phone call with him, get Ukraine responsible for that!”
She concluded, “We are living in a great Netflix special, and I just want the series to end and we’re all okay when it does! That’s what I’m looking for.”
Follow Pam Key on Twitter @pamkeyNEN


PACE / HILLINESS (total climbing if known) / DISTANCE
RIDE RATING EXAMPLES:
“C+/2/40” indicates a 40-mile ride with about 2000 feet of climbing, ridden at an average speed of 13 (the C+ indicating 1 mph faster than C). “E/4!(9700’)/100” indicates a 100-mile ride with 9700 feet of climbing, some of it very steep, ridden at an average speed of 14 mph.
___
PACE (A-E): Indicates the average speed while riding, with A being the slowest and E being the fastest. Non-riding time is not counted, so rides with long stops may have the same average speed as rides with short stops.
HILLINESS (0-5): Rates the terrain based on the average feet climbed per mile for the entire ride. The formula is HillinessRating = (TotalFeetClimbed / TotalMiles) / 25, which yields:
| Hilliness Rating |
Average Climb Feet/Mile |
|---|---|
| 0 | 0 |
| 1 | 25 |
| 2 | 50 |
| 3 | 75 |
| 4 | 100 |
| 5 | 125 |
The longer and steeper and more frequent the hills, the higher the hilliness rating and the slower the average speed. However, a low hilliness rating does not guarantee that a ride contains no long or steep hills because the rating could be diluted by flats around the hills. If a ride contains an unusually challenging hill for its hilliness rating, an exclamation point (“!”) is appended to the hilliness rating. The ride description will provide more details. It is possible but rare to have a hilliness rating greater than 5.
DISTANCE: Specifies the total mileage for the ride.
AVERAGE SPEEDS: The average speeds (mph) for the different pace and hilliness ratings are:
| Pace Rating |
Hilliness Rating | Benchmark: Old La Honda Rd. | ||||||
|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 45Time | VAM* | |||
| * VAM = velocità ascensionale media, Italian for “average climbing speed”, expressed in meters/hour | ||||||||
| A | 10 | 9 | 8 | NA | NA | NA | NA | NA |
| B | 12 | 11 | 10 | 9 | 8 | 7 | 43–54 min. | 450–550 |
| C | 14 | 13 | 12 | 11 | 10 | 9 | 34–43 min. | 550–700 |
| D | 16 | 15 | 14 | 13 | 12 | 11 | 27–34 min. | 700–875 |
| E | 18 | 17 | 161514 | 1322–27 min. | 875–1075 |
If the pace rating letter has a “+” or “-” appended to it, the average speed is incremented or decremented by 1 mph.
CHOOSING YOUR RIDE: The speeds in the above table may seem low because you know you can ride faster at times. Remember, however, that the numbers represent the average speed for the entire ride. Don’t attempt rides beyond your ability. If you are taking your first club ride, err on the conservative side. Novice cyclists are welcome on A rides. A, B, and C rides are typically more leisurely and have more regroups than D and E rides, which are brisker-paced rides for more experienced and self-sufficient cyclists.
If you are unsure which group to go with on hilly rides, time yourself up Old La Honda Rd. and compare your time with the time ranges shown in the above table. If your time is within the range for a certain group, you can feel comfortable riding with that group on hilly rides. Note that the OLH time does not refer to your personal best time, but to the time in which you can comfortably climb Old La Honda, and perhaps not just once but repeatedly, because that is the pace the group will be maintaining all day, on multiple climbs.
If you choose to ride with a slower group, you should not expect them to speed up for you, and if you choose to ride with a faster group, you should not expect them to wait for you.WEATHER CONSIDERATIONS: Rides on pavement may be canceled if rain seems likely during the ride. If in doubt, call the ride leader.
RECOMMENDED EQUIPMENT: As needed, please try to bring basic tools, sunglasses and sunscreen, water bottles, food or food money, a first-aid kit, cell phone, “layered” clothing, etc. Bright clothing is recommended.
 Please be prepared for the ride. (Make sure your bike is in working order, bring appropriate tools, food, water, clothing, etc.) Guest riders will need to sign a waiver before every ride. Minors need a parent or guardian with them to sign the release.


#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
Go to the source code of this file.
Define Documentation
| #define Bit |
( |
|
x |
) |
(1<<(x)) |
Definition at line 32 of file IR.c.
Definition at line 48 of file IR.c.
| #define GetBit |
( |
|
x, |
|
|
|
b | |
|
) |
| | ((x)&(b)) |
Definition at line 30 of file IR.c.
Definition at line 35 of file IR.c.
Definition at line 36 of file IR.c.
Definition at line 38 of file IR.c.
| #define ResetBit |
( |
|
x, |
|
|
|
b | |
|
) |
| | ((x)&=(~(b))) |
Definition at line 31 of file IR.c.
| #define SetBit |
( |
|
x, |
|
|
|
b | |
|
) |
| | ((x)|=(b)) |
Definition at line 29 of file IR.c.
Function Documentation
Initialize all ports
Definition at line 95 of file IR.c.
| void IR_Get_Input_Vector |
( |
void |
|
) |
|
Function to read IR message from the detector Stores the 'IR-code' received in the code array (global).
The code received is 'Protocol Independent'. Although the TV remote being used is RC-5 based, it does not assume any specific protocol, as long as the frequency of the remote matches that of the TSOP sensor.
Definition at line 146 of file IR.c.
Initialise all the devices
Definition at line 218 of file IR.c.
| unsigned char IR_read |
( |
|
) |
|
Returns the patient_ID of the last request that was received.
Definition at line 194 of file IR.c.
ISR handler for Zigbee receive complete.
Definition at line 127 of file IR.c.
Learns and remembers the patterns of TV remote buttons 1, 2, ... , 6.
Definition at line 201 of file IR.c.
Main Function Performs the job of receiving TV remote signals and stores it in the variable 'patient', which is later communicated to the server on request.
Definition at line 230 of file IR.c.
| unsigned char num_bits_matched |
( |
unsigned char |
a, |
|
|
unsigned char |
b | |
|
) |
| | |
Number of common bits in given two bytes.
Definition at line 56 of file IR.c.
| unsigned char patient_id |
( |
unsigned char |
code1[] |
) |
|
Finds the patient_id for a specific IR code.
Definition at line 68 of file IR.c.
USART0 initialization for Zigbee communication. desired baud rate:9600 actual baud rate:9600 (0.0%) char size: 8 bit parity: Disabled
Definition at line 114 of file IR.c.
Variable Documentation
| volatile unsigned char code[CODESIZE] |
Definition at line 51 of file IR.c.
| volatile unsigned char Pat[6][CODESIZE] |
Definition at line 49 of file IR.c.