org.rococoa.cocoa.syncservices
Class ISyncClient
java.lang.Object
org.rococoa.cocoa.foundation.NSObject
org.rococoa.cocoa.syncservices.ISyncClient
- All Implemented Interfaces:
- ABActionDelegate, AMWorkflowControllerDelegate, IMVideoDataSource, NSAccessibility, NSAccessibilityAdditions, NSAnimationDelegate, NSApplicationScriptingDelegation, NSArchiverCallback, NSBrowserDelegate, NSClassDescriptionPrimitives, NSCoderMethods, NSColorPanelResponderMethod, NSComboBoxCellDataSource, NSComboBoxDataSource, NSComboBoxNotifications, NSComparisonMethods, NSConnectionDelegateMethods, NSControlSubclassDelegate, NSControlSubclassNotifications, NSCopyLinkMoveHandler, NSDatePickerCellDelegate, NSDelayedPerforming, NSDeprecatedKeyValueCoding, NSDeprecatedKeyValueObservingCustomization, NSDeprecatedMethods, NSDictionaryControllerKeyValuePair, NSDistantObjectRequestMethods, NSDistributedObjects, NSDraggingDestination, NSDraggingSource, NSDrawerDelegate, NSDrawerNotifications, NSEditor, NSEditorRegistration, NSErrorRecoveryAttempting, NSExceptionHandlerDelegate, NSFileManagerFileOperationAdditions, NSFontManagerDelegate, NSFontManagerResponderMethod, NSFontPanelValidationAdditions, NSImageDelegate, NSKeyedArchiverDelegate, NSKeyedArchiverObjectSubstitution, NSKeyedUnarchiverDelegate, NSKeyedUnarchiverObjectSubstitution, NSKeyValueBindingCreation, NSKeyValueCoding, NSKeyValueObserverNotification, NSKeyValueObserverRegistration, NSKeyValueObserving, NSKeyValueObservingCustomization, NSLayoutManagerDelegate, NSMenuDelegate, NSMenuValidation, NSMetadataQueryDelegate, NSNetServiceBrowserDelegateMethods, NSNetServiceDelegateMethods, NSNibAwaking, NSOutlineViewDataSource, NSOutlineViewDelegate, NSOutlineViewNotifications, NSPasteboardOwner, NSPlaceholders, NSPortDelegateMethods, NSRuleEditorDelegateMethods, NSSavePanelDelegate, NSScriptClassDescription, NSScripting, NSScriptingComparisonMethods, NSScriptKeyValueCoding, NSScriptObjectSpecifiers, NSSoundDelegateMethods, NSSpeechRecognizerDelegate, NSSpeechSynthesizerDelegate, NSSpellServerDelegate, NSSplitViewDelegate, NSStreamDelegateEventExtensions, NSTabViewDelegate, NSTextDelegate, NSTextViewDelegate, NSThreadPerformAdditions, NSTokenFieldCellDelegate, NSTokenFieldDelegate, NSToolbarDelegate, NSToolbarNotifications, NSURLClient, NSURLConnectionDelegate, NSURLDownloadDelegate, NSWindowDelegate, NSWindowNotifications, NSXMLParserDelegateEventAdditions, QTCaptureDecompressedVideoOutputDelegate, QTCaptureFileOutputDelegate, QTCaptureVideoPreviewOutputDelegate, QTCaptureViewDelegate, QTMovieDelegate, QTMovieViewDelegate, SFAuthorizationViewDelegate, SFCertificatePanelDelegate, SFChooseIdentityPanelDelegate, WebDownloadDelegate, WebFrameLoadDelegate, WebJavaPlugIn, WebPlugIn, WebPlugInContainer, WebPolicyDelegate, WebResourceLoadDelegate, WebScripting, WebUIDelegate, WebViewEditingDelegate, NSObject
public abstract class ISyncClient
- extends NSObject
This file was autogenerated by JNAerator,
a tool written by Olivier Chafik that uses a few opensource projects..
For help, please visit NativeLibs4Java, Rococoa, or JNA.
Method Summary |
static ISyncClient |
alloc()
|
abstract boolean |
canPullChangesForEntityName(NSString entityName)
|
abstract boolean |
canPushChangesForEntityName(NSString entityName)
More information taken from the device description. |
abstract NSString |
clientIdentifier()
Each client is identified by an id. |
abstract NSString |
clientType()
A hint as to what kind of thing this client syncs data for. |
abstract NSString |
displayName()
The name of the client - in an ideal world, this will be the actual name of the device or
application, such as "My iPod" or iCal. |
abstract NSArray |
enabledEntityNames()
The entities which a device (probably) *will* synchronize on the next sync. |
abstract NSArray |
filters()
These are the filters used to control which records the client sees. |
abstract NSString |
imagePath()
An image may be associated with a client. |
abstract boolean |
isEnabledForEntityName(NSString entityName)
|
abstract NSDate |
lastSyncDateForEntityName(NSString entityName)
Return information about the last sync. |
abstract int |
lastSyncStatusForEntityName(NSString entityName)
|
abstract NSObject |
objectForKey(NSString key)
As a convenience to the conduit author, arbitrary objects can be associated with a device. |
abstract void |
setDisplayName(NSString displayName)
|
abstract void |
setEnabled_forEntityNames(boolean flag,
NSArray entityNames)
Original signature : -(void)setEnabled:(BOOL) forEntityNames:(NSArray*)
NSString |
abstract void |
setFilters(NSArray filters)
Original signature : -(void)setFilters:(NSArray*)
id |
abstract void |
setImagePath(NSString path)
|
abstract void |
setObject_forKey(org.rococoa.ID value,
NSString key)
Deprecated. use the safer method setObject_forKey(org.rococoa.cocoa.foundation.protocols.NSCoding, org.rococoa.cocoa.foundation.NSString) instead |
abstract void |
setObject_forKey(NSCoding value,
NSString key)
|
abstract void |
setShouldReplaceClientRecords_forEntityNames(boolean flag,
NSArray entityNames)
Original signature : -(void)setShouldReplaceClientRecords:(BOOL) forEntityNames:(NSArray*)
NSString |
abstract void |
setShouldSynchronize_withClientsOfType(boolean flag,
NSString clientType)
|
abstract void |
setSyncAlertHandler_selector(org.rococoa.ID handler,
org.rococoa.Selector selector)
|
abstract void |
setSyncAlertToolPath(NSString path)
|
abstract boolean |
shouldReplaceClientRecordsForEntityName(NSString entityName)
Tell the engine the client wants to pull the Truth. |
abstract boolean |
shouldSynchronizeWithClientsOfType(NSString clientType)
Specifies that the receiver wants to synchronize with clients of the specified type (application,
device, server or peer). |
abstract NSArray |
supportedEntityNames()
These are the entities which are supported by the client. |
abstract NSString |
syncAlertToolPath()
|
Methods inherited from class org.rococoa.cocoa.foundation.NSObject |
copy, create, dealloc, description, doesNotRecognizeSelector, finalize, forwardInvocation, id, init, isKindOfClass, isKindOfClass, methodSignatureForSelector, mutableCopy, release, retain, retainCount |
Methods inherited from interface org.rococoa.cocoa.foundation.protocols.NSObject |
autorelease, class_, conformsToProtocol, hash, isEqual, isKindOfClass, isMemberOfClass, isProxy, performSelector_withObject_withObject, performSelector_withObject, performSelector, respondsToSelector, self, superclass, zone |
Methods inherited from interface org.rococoa.cocoa.foundation.categories.WebUIDelegate |
webView_contextMenuItemsForElement_defaultMenuItems, webView_createWebViewModalDialogWithRequest, webView_createWebViewWithRequest, webView_dragDestinationActionMaskForDraggingInfo, webView_dragDestinationActionMaskForDraggingInfo, webView_makeFirstResponder, webView_mouseDidMoveOverElement_modifierFlags, webView_printFrameView, webView_runBeforeUnloadConfirmPanelWithMessage_initiatedByFrame, webView_runJavaScriptAlertPanelWithMessage_initiatedByFrame, webView_runJavaScriptAlertPanelWithMessage, webView_runJavaScriptConfirmPanelWithMessage_initiatedByFrame, webView_runJavaScriptConfirmPanelWithMessage, webView_runJavaScriptTextInputPanelWithPrompt_defaultText_initiatedByFrame, webView_runJavaScriptTextInputPanelWithPrompt_defaultText, webView_runOpenPanelForFileButtonWithResultListener, webView_runOpenPanelForFileButtonWithResultListener, webView_setResizable, webView_setStatusBarVisible, webView_setStatusText, webView_setToolbarsVisible, webView_shouldPerformAction_fromSender, webView_validateUserInterfaceItem_defaultValidation, webView_validateUserInterfaceItem_defaultValidation, webView_willPerformDragDestinationAction_forDraggingInfo, webView_willPerformDragDestinationAction_forDraggingInfo, webViewAreToolbarsVisible, webViewClose, webViewContentRect, webViewFirstResponder, webViewFocus, webViewFooterHeight, webViewFrame, webViewHeaderHeight, webViewIsResizable, webViewIsStatusBarVisible, webViewRunModal, webViewShow, webViewStatusText, webViewUnfocus |
Methods inherited from interface org.rococoa.cocoa.foundation.categories.NSBrowserDelegate |
browser_acceptDrop_atRow_column_dropOperation, browser_acceptDrop_atRow_column_dropOperation, browser_canDragRowsWithIndexes_inColumn_withEvent, browser_createRowsForColumn_inMatrix, browser_isColumnValid, browser_namesOfPromisedFilesDroppedAtDestination_forDraggedRowsWithIndexes_inColumn, browser_nextTypeSelectMatchFromRow_toRow_inColumn_forString, browser_numberOfRowsInColumn, browser_selectCellWithString_inColumn, browser_selectRow_inColumn, browser_shouldShowCellExpansionForRow_column, browser_shouldSizeColumn_forUserResize_toWidth, browser_shouldTypeSelectForEvent_withCurrentSearchString, browser_sizeToFitWidthOfColumn, browser_titleOfColumn, browser_typeSelectStringForRow_inColumn, browser_validateDrop_proposedRow_column_dropOperation, browser_validateDrop_proposedRow_column_dropOperation, browser_willDisplayCell_atRow_column, browser_writeRowsWithIndexes_inColumn_toPasteboard, browserColumnConfigurationDidChange, browserDidScroll, browserWillScroll |
Methods inherited from interface org.rococoa.cocoa.foundation.categories.NSKeyValueCoding |
dictionaryWithValuesForKeys, mutableArrayValueForKey, mutableArrayValueForKeyPath, mutableSetValueForKey, mutableSetValueForKeyPath, setNilValueForKey, setValue_forKey, setValue_forKeyPath, setValue_forUndefinedKey, setValuesForKeysWithDictionary, validateValue_forKey_error, validateValue_forKeyPath_error, valueForKey, valueForKeyPath, valueForUndefinedKey |
Methods inherited from interface org.rococoa.cocoa.foundation.categories.NSOutlineViewDelegate |
outlineView_dataCellForTableColumn_item, outlineView_didClickTableColumn, outlineView_didDragTableColumn, outlineView_heightOfRowByItem, outlineView_isGroupItem, outlineView_mouseDownInHeaderOfTableColumn, outlineView_nextTypeSelectMatchFromItem_toItem_forString, outlineView_selectionIndexesForProposedSelection, outlineView_shouldCollapseItem, outlineView_shouldEditTableColumn_item, outlineView_shouldExpandItem, outlineView_shouldSelectItem, outlineView_shouldSelectTableColumn, outlineView_shouldShowCellExpansionForTableColumn_item, outlineView_shouldTrackCell_forTableColumn_item, outlineView_shouldTypeSelectForEvent_withCurrentSearchString, outlineView_typeSelectStringForTableColumn_item, outlineView_willDisplayCell_forTableColumn_item, outlineView_willDisplayOutlineCell_forTableColumn_item, selectionShouldChangeInOutlineView |
Methods inherited from interface org.rococoa.cocoa.foundation.categories.WebViewEditingDelegate |
undoManagerForWebView, webView_doCommandBySelector, webView_shouldApplyStyle_toElementsInDOMRange, webView_shouldBeginEditingInDOMRange, webView_shouldChangeTypingStyle_toStyle, webView_shouldDeleteDOMRange, webView_shouldEndEditingInDOMRange, webView_shouldInsertNode_replacingDOMRange_givenAction, webView_shouldInsertText_replacingDOMRange_givenAction, webViewDidBeginEditing, webViewDidChange, webViewDidChangeSelection, webViewDidChangeTypingStyle, webViewDidEndEditing |
Methods inherited from interface org.rococoa.cocoa.foundation.categories.WebFrameLoadDelegate |
webView_didCancelClientRedirectForFrame, webView_didChangeLocationWithinPageForFrame, webView_didClearWindowObject_forFrame, webView_didCommitLoadForFrame, webView_didFailLoadWithError_forFrame, webView_didFailProvisionalLoadWithError_forFrame, webView_didFinishLoadForFrame, webView_didReceiveIcon_forFrame, webView_didReceiveServerRedirectForProvisionalLoadForFrame, webView_didReceiveTitle_forFrame, webView_didStartProvisionalLoadForFrame, webView_willCloseFrame, webView_windowScriptObjectAvailable |
Methods inherited from interface org.rococoa.cocoa.foundation.categories.NSTokenFieldDelegate |
tokenField_completionsForSubstring_indexOfToken_indexOfSelectedItem, tokenField_completionsForSubstring_indexOfToken_indexOfSelectedItem, tokenField_displayStringForRepresentedObject, tokenField_editingStringForRepresentedObject, tokenField_hasMenuForRepresentedObject, tokenField_menuForRepresentedObject, tokenField_readFromPasteboard, tokenField_representedObjectForEditingString, tokenField_shouldAddObjects_atIndex, tokenField_styleForRepresentedObject, tokenField_writeRepresentedObjects_toPasteboard |
Methods inherited from interface org.rococoa.cocoa.foundation.categories.NSXMLParserDelegateEventAdditions |
parser_didEndElement_namespaceURI_qualifiedName, parser_didEndMappingPrefix, parser_didStartElement_namespaceURI_qualifiedName_attributes, parser_didStartMappingPrefix_toURI, parser_foundAttributeDeclarationWithName_forElement_type_defaultValue, parser_foundCDATA, parser_foundCharacters, parser_foundComment, parser_foundElementDeclarationWithName_model, parser_foundExternalEntityDeclarationWithName_publicID_systemID, parser_foundIgnorableWhitespace, parser_foundInternalEntityDeclarationWithName_value, parser_foundNotationDeclarationWithName_publicID_systemID, parser_foundProcessingInstructionWithTarget_data, parser_foundUnparsedEntityDeclarationWithName_publicID_systemID_notationName, parser_parseErrorOccurred, parser_resolveExternalEntityName_systemID, parser_validationErrorOccurred, parserDidEndDocument, parserDidStartDocument |
Methods inherited from interface org.rococoa.cocoa.foundation.categories.NSDraggingDestination |
concludeDragOperation, concludeDragOperation, draggingEnded, draggingEnded, draggingEntered, draggingEntered, draggingExited, draggingExited, draggingUpdated, draggingUpdated, performDragOperation, performDragOperation, prepareForDragOperation, prepareForDragOperation, wantsPeriodicDraggingUpdates |
Methods inherited from interface org.rococoa.cocoa.foundation.categories.NSOutlineViewDataSource |
outlineView_acceptDrop_item_childIndex, outlineView_acceptDrop_item_childIndex, outlineView_child_ofItem, outlineView_isItemExpandable, outlineView_itemForPersistentObject, outlineView_namesOfPromisedFilesDroppedAtDestination_forDraggedItems, outlineView_numberOfChildrenOfItem, outlineView_objectValueForTableColumn_byItem, outlineView_persistentObjectForItem, outlineView_setObjectValue_forTableColumn_byItem, outlineView_sortDescriptorsDidChange, outlineView_validateDrop_proposedItem_proposedChildIndex, outlineView_validateDrop_proposedItem_proposedChildIndex, outlineView_writeItems_toPasteboard |
Methods inherited from interface org.rococoa.cocoa.foundation.categories.NSURLDownloadDelegate |
download_decideDestinationWithSuggestedFilename, download_didCancelAuthenticationChallenge, download_didCreateDestination, download_didFailWithError, download_didReceiveAuthenticationChallenge, download_didReceiveDataOfLength, download_didReceiveResponse, download_shouldDecodeSourceDataOfMIMEType, download_willResumeWithResponse_fromByte, download_willSendRequest_redirectResponse, downloadDidBegin, downloadDidFinish |
Methods inherited from interface org.rococoa.cocoa.foundation.categories.NSAccessibility |
accessibilityActionDescription, accessibilityActionNames, accessibilityAttributeNames, accessibilityAttributeValue_forParameter, accessibilityAttributeValue, accessibilityFocusedUIElement, accessibilityIsAttributeSettable, accessibilityIsIgnored, accessibilityParameterizedAttributeNames, accessibilityPerformAction, accessibilitySetValue_forAttribute |
Methods inherited from interface org.rococoa.cocoa.foundation.categories.NSTextViewDelegate |
textView_clickedOnLink_atIndex, textView_clickedOnLink, textView_doCommandBySelector, textView_menu_forEvent_atIndex, textView_shouldChangeTextInRanges_replacementStrings, textView_shouldChangeTypingAttributes_toAttributes, textView_willChangeSelectionFromCharacterRanges_toCharacterRanges, textView_willDisplayToolTip_forCharacterAtIndex, textView_writablePasteboardTypesForCell_atIndex, textView_writablePasteboardTypesForCell_atIndex, textView_writeCell_atIndex_toPasteboard_type, textView_writeCell_atIndex_toPasteboard_type, textViewDidChangeSelection, textViewDidChangeTypingAttributes, undoManagerForTextView |
Methods inherited from interface org.rococoa.cocoa.foundation.categories.NSTokenFieldCellDelegate |
tokenFieldCell_completionsForSubstring_indexOfToken_indexOfSelectedItem, tokenFieldCell_completionsForSubstring_indexOfToken_indexOfSelectedItem, tokenFieldCell_displayStringForRepresentedObject, tokenFieldCell_editingStringForRepresentedObject, tokenFieldCell_hasMenuForRepresentedObject, tokenFieldCell_menuForRepresentedObject, tokenFieldCell_readFromPasteboard, tokenFieldCell_representedObjectForEditingString, tokenFieldCell_shouldAddObjects_atIndex, tokenFieldCell_styleForRepresentedObject, tokenFieldCell_writeRepresentedObjects_toPasteboard |
Methods inherited from interface org.rococoa.cocoa.foundation.categories.NSWindowNotifications |
windowDidBecomeKey, windowDidBecomeMain, windowDidChangeScreen, windowDidChangeScreenProfile, windowDidDeminiaturize, windowDidEndSheet, windowDidExpose, windowDidMiniaturize, windowDidMove, windowDidResignKey, windowDidResignMain, windowDidResize, windowDidUpdate, windowWillBeginSheet, windowWillClose, windowWillMiniaturize, windowWillMove |
ISyncClient
public ISyncClient()
clientIdentifier
public abstract NSString clientIdentifier()
- Each client is identified by an id. There are no restrictions on the content or length of an
id, but it must be unique across all clients. This is specified when the client is registered
and can never be changed afterwards.
Original signature : -(NSString*)clientIdentifier
clientType
public abstract NSString clientType()
- A hint as to what kind of thing this client syncs data for. Valid types are ISyncClientTypeApplication
(an application such as iCal or AB), ISyncClientTypeDevice (a physical device like a phone,
iPod or Palm), ISyncClientTypeServer (.Mac) and ISyncClientTypePeer (not yet implemented).
Original signature : -(NSString*)clientType
displayName
public abstract NSString displayName()
- The name of the client - in an ideal world, this will be the actual name of the device or
application, such as "My iPod" or iCal. If you refer to this client when dealing with
the user, you should use the display name. The display name doesn't have to be unique across
all clients, but it probably will end up being that way.
There is no magical discovery or divination of display names; the name is specified when the
client is first registered and may be changed later by the client (or any other user of the
SyncServices API).
Original signature : -(NSString*)displayName
setDisplayName
public abstract void setDisplayName(NSString displayName)
imagePath
public abstract NSString imagePath()
- An image may be associated with a client. This is used in applications like iSync to represent
the client.
Original signature : -(NSString*)imagePath
setImagePath
public abstract void setImagePath(NSString path)
supportedEntityNames
public abstract NSArray supportedEntityNames()
- These are the entities which are supported by the client. These are not necessarily the
entities that *will* be synchronized by a client - a phone might be capable of synchronizing
both contacts and calendars but the user has chosen (via UI in iSync or on the phone) to
synchronize only contacts, for example. A client should inform the engine that it will not be
synchronizing an entity using -setEnabled:forEntityNames:. It is not strictly required, but
it allows the engine to do a better job of managing which clients can push the Truth for a
specific entity. It is a GOOD IDEA to do that.
This list of entities is used by the sync engine to maintain a set of databases about the client.
These databases contain the meta-information needed to synchronize the client properly and when
an entity is removed from this list, the engine cleans up the associated state. If the record
type is later added back, it appears to the engine as if the client were syncing it for the
first time and so must be refresh synced.
It is important to understand the implications of this. Consider the case of calendars on a phone
which does not support recurrences, requiring the client manually expand the recurrence in to a
series of events. If, in response to the user disabling a data class in the UI, the client
removes the calendar entities from this list and then later adds them back, the engine will
refresh sync the calendars with the phone. The expanded recurrences will then erroneously be
merged in to the user's data. The user would be better served if the client, instead, disabled
the entities using -setEnabled:forEntityNames:.
The list is built from the information provided when the client was registered. The information
can be provided directly by the client or the client can specify a description file containing
the info. The engine will refresh this list if the contents of the description file change or
if the client explicitly registers new information. Changing the list of entities supported by
a device may require some entities be slow synced on the next sync. (It depends on the
relationships between the new and old sets of entities.) Newly added entities will be refresh
synced. In this manner, conduits can easily evolve the properties and entities they synchronize
without having to worry about when they need to slow sync to refresh their device with
additional properties.
Original signature : -(NSArray*)supportedEntityNames
canPushChangesForEntityName
public abstract boolean canPushChangesForEntityName(NSString entityName)
- More information taken from the device description. These methods indicate a conduit's ability
to accept or provide changes to records of a particular type. Again, these do not specify a
device's willingness to do so - that is left for the conduit to negotiate with the engine when
it starts a sync session. They are advisory methods only.
For example, the iPod conduit will probably indicate that is can accept changes to contacts and
calendars but will never provide changes to the same.
Original signature : -(BOOL)canPushChangesForEntityName:(NSString*)
canPullChangesForEntityName
public abstract boolean canPullChangesForEntityName(NSString entityName)
lastSyncDateForEntityName
public abstract NSDate lastSyncDateForEntityName(NSString entityName)
- Return information about the last sync. -lastSyncDate specifies the start date of the last
sync, even if that sync was a failure. It returns nil if the device has never synced a record
type. If a device is syncing the record type when asked, -lastSyncStatus will return
ISyncStatusRunning but -lastSyncDate will continue to return the date of the last sync.
The engine will maintain this information for as long as a device supports a record type name
(ie. the record type name is returned from -entityNames). When a device stops supporting
a record type, this information is erased from the engine's database. Should the device later
start support the record type again, these methods will act as if the device had never before
synced it.
Original signature : -(NSDate*)lastSyncDateForEntityName:(NSString*)
lastSyncStatusForEntityName
public abstract int lastSyncStatusForEntityName(NSString entityName)
enabledEntityNames
public abstract NSArray enabledEntityNames()
- The entities which a device (probably) *will* synchronize on the next sync. These methods
can be used in an advisory fashion for the client and the engine. Say, for example, that a
client can synchronize contacts and calendars (ie. both are specified in
-supportedEntityNames). Through the client's config UI, the user disables syncing calendars.
The user must then be prevented from trying to push the Truth for contacts from this client.
A client should probably use -enabledEntityNames as the list of entity names passed to
ISyncSession's constructor, for example. If an entity is not enabled, the engine will not
allow the client to apply any changes for it; nor will the engine provide any changes for it.
Original signature : -(NSArray*)enabledEntityNames
isEnabledForEntityName
public abstract boolean isEnabledForEntityName(NSString entityName)
setEnabled_forEntityNames
public abstract void setEnabled_forEntityNames(boolean flag,
NSArray entityNames)
- Original signature :
-(void)setEnabled:(BOOL) forEntityNames:(NSArray*)
NSString
shouldReplaceClientRecordsForEntityName
public abstract boolean shouldReplaceClientRecordsForEntityName(NSString entityName)
- Tell the engine the client wants to pull the Truth. The engine will not let the client push any
changes. The client is expected to erase its data store at the start of the pull phase, before
pulling any changes.
This option remains in effect until the client successfully passes through the pull phase of a sync
session. After that, the engine expects the client to synchronize normally.
Original signature : -(BOOL)shouldReplaceClientRecordsForEntityName:(NSString*)
setShouldReplaceClientRecords_forEntityNames
public abstract void setShouldReplaceClientRecords_forEntityNames(boolean flag,
NSArray entityNames)
- Original signature :
-(void)setShouldReplaceClientRecords:(BOOL) forEntityNames:(NSArray*)
NSString
objectForKey
public abstract NSObject objectForKey(NSString key)
- As a convenience to the conduit author, arbitrary objects can be associated with a device. Any
object can be used (we have a garbage-in-garbage-out policy) as long as it is archivable (ie.
conforms to NSCoding). Coordinating concurrent access to this information is entirely the
responsibility of the client.
Original signature : -(id)objectForKey:(NSString*)
setObject_forKey
@Deprecated
public abstract void setObject_forKey(org.rococoa.ID value,
NSString key)
- Deprecated. use the safer method
setObject_forKey(org.rococoa.cocoa.foundation.protocols.NSCoding, org.rococoa.cocoa.foundation.NSString)
instead
- Original signature :
-(void)setObject:(id) forKey:(NSString*)
setObject_forKey
public abstract void setObject_forKey(NSCoding value,
NSString key)
filters
public abstract NSArray filters()
- These are the filters used to control which records the client sees. Don't call setFilters:
trivially: every time the filter changes, the engine must re-examine all records in the Truth
to determine what needs to be pushed to the client.
Every time the method filters is called, a unique array of unique filter objects is returned. These
filters may be mutated in place and passed back to setFilters, and will be compared against unique
filter objects recreated from the archived filters.
New records must be accepted by all matching filters (ie. filters whose -supportedEntityNames
contains the record's entity). If any matching filter rejects the record, the record will
not be given to the client in the pull phase.
Original signature : -(NSArray*)filters
setFilters
public abstract void setFilters(NSArray filters)
- Original signature :
-(void)setFilters:(NSArray*)
id
shouldSynchronizeWithClientsOfType
public abstract boolean shouldSynchronizeWithClientsOfType(NSString clientType)
- Specifies that the receiver wants to synchronize with clients of the specified type (application,
device, server or peer). For example, Address Book might register to synchronize with all client
types. It will be given a chance to join a sync whenver any client synchronizes the Contacts
entities. .Mac might register to synchronize only with device types, so it can participate when a
Palm of phone is synchronized. The client will only be notified if it has entities in common with
the client initiating the sync.
A client may be notified in one of two ways. It may specify the path of a tool or application which
will be launched by the sync engine. The tool will be passed four arguments on the command line:
"--sync --entitynames ". The entity names is a single string suitable for
passing to -[NSString componentsSeparatedByString:@","]. If the tool wishes to sync any of these
entities, it may create an ISyncSession to join the sync. The tool is not limited to syncing only
these entities, but it must sync at least one of them. If the tool terminates without creating a
sync session, the engine will assume the client does not want to participate in the sync.
Alternatively, an observer object may be registered. The sync engine will invoke the selector on the
observer. The selector should have the following signature
-(void)client:(ISyncClient *)client mightWantToSyncEntityNames:(NSArray *)entityNames.
If it wishes to join the sync, it must create an ISyncSession before returning from the method. Only
one observer per client per machine may be registered. If an observer is registered in a different
process, -setSyncAlertHandler:selector: will throw an exception. An observer is automatically
removed when its process exits, of course.
You can register both a sync tool and an observer, but only one of the notification methods will be
used. If both a tool and an observer are registered, only the observer will be called.
When a client creates a sync session, it specifies how long it is willing to wait to start syncing (the
"before date" parameter). The sync engine will wait at most that amount of time for a notified
clients to join the sync. If a notified client takes too long, the sync will proceed without it.
Original signature : -(BOOL)shouldSynchronizeWithClientsOfType:(NSString*)
setShouldSynchronize_withClientsOfType
public abstract void setShouldSynchronize_withClientsOfType(boolean flag,
NSString clientType)
syncAlertToolPath
public abstract NSString syncAlertToolPath()
setSyncAlertToolPath
public abstract void setSyncAlertToolPath(NSString path)
setSyncAlertHandler_selector
public abstract void setSyncAlertHandler_selector(org.rococoa.ID handler,
org.rococoa.Selector selector)
alloc
public static ISyncClient alloc()