Retired Document
Important: This sample code may not represent best practices for current development. The project may use deprecated symbols and illustrate technologies and techniques that are no longer recommended.
RecentItems.h
/* |
* File: RecentItems.h of Rails |
* |
* Created: 10/29/05 |
* |
* Contains: Definition of the interfaces to <RecentItems.c> |
* |
* Copyright: Copyright � 2006 Apple Computer, Inc., All Rights Reserved |
* |
* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ( "Apple" ) in |
* consideration of your agreement to the following terms, and your use, installation, modification |
* or redistribution of this Apple software constitutes acceptance of these terms. If you do |
* not agree with these terms, please do not use, install, modify or redistribute this Apple |
* software. |
* |
* In consideration of your agreement to abide by the following terms, and subject to these terms, |
* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this |
* original Apple software ( the "Apple Software" ), to use, reproduce, modify and redistribute the |
* Apple Software, with or without modifications, in source and/or binary forms; provided that if you |
* redistribute the Apple Software in its entirety and without modifications, you must retain this |
* notice and the following text and disclaimers in all such redistributions of the Apple Software. |
* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to |
* endorse or promote products derived from the Apple Software without specific prior written |
* permission from Apple. Except as expressly stated in this notice, no other rights or |
* licenses, express or implied, are granted by Apple herein, including but not limited to any |
* patent rights that may be infringed by your derivative works or by other works in which the |
* Apple Software may be incorporated. |
* |
* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR |
* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY |
* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE |
* OR IN COMBINATION WITH YOUR PRODUCTS. |
* |
* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL |
* DAMAGES ( INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS |
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION ) ARISING IN ANY WAY OUT OF THE USE, |
* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER |
* UNDER THEORY OF CONTRACT, TORT ( INCLUDING NEGLIGENCE ), STRICT LIABILITY OR OTHERWISE, EVEN |
* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
*/ |
#ifndef __RecentItems__ |
#define __RecentItems__ |
//**************************************************** |
#pragma mark - includes & imports |
//---------------------------------------------------- |
#include <Carbon/Carbon.h> |
//**************************************************** |
#if PRAGMA_ONCE |
#pragma once |
#endif |
#ifdef __cplusplus |
extern "C" { |
#endif |
#if PRAGMA_IMPORT |
#pragma import on |
#endif |
#if PRAGMA_STRUCT_ALIGN |
#pragma options align=mac68k |
#elif PRAGMA_STRUCT_PACKPUSH |
#pragma pack( push, 2 ) |
#elif PRAGMA_STRUCT_PACK |
#pragma pack( 2 ) |
#endif |
//**************************************************** |
#pragma mark - typedef's, struct's, enums, defines, etc. |
//---------------------------------------------------- |
//**************************************************** |
#pragma mark - exported globals |
//---------------------------------------------------- |
//**************************************************** |
#pragma mark - exported function prototypes |
//---------------------------------------------------- |
/************************************************************************* |
* |
* RecentItems_Update( inPrefKeyCFStringRef, inFSRef, inSynchronizePrefs ) |
* |
* Purpose: Adds or updates a recent item to our prefs |
* |
* Inputs: inPrefKeyCFStringRef - the key to use for this menu's recent preferences |
* inFSRef - RSRef for the recent file/folder |
* inSynchronizePrefs - TRUE to CFPreferencesAppSynchronize (for best performance only on last item update) |
* |
* Returns: OSStatus - error code ( 0 == no error ) |
*/ |
extern OSStatus RecentItems_Update( CFStringRef inPrefKeyCFStringRef, const FSRef* inFSRef, Boolean inSynchronizePrefs ); |
/************************************************************************* |
* |
* RecentItems_Clear( inPrefKeyCFStringRef ) |
* |
* Purpose: clears our recent pref |
* |
* Inputs: inPrefKeyCFStringRef - the key to use for this menu's recent preferences |
* |
* Returns: OSStatus - error code ( 0 == no error ) |
*/ |
extern OSStatus RecentItems_Clear( CFStringRef inPrefKeyCFStringRef ); |
/************************************************************************* |
* |
* RecentItems_PopulateMenu( inMenuRef, inPrefKeyCFStringRef, inMenuCommand ) |
* |
* Purpose: Populates menu with recent docs from prefs |
* |
* Inputs: inMenuRef - MenuRef for the menu we're to populate |
* inPrefKeyCFStringRef - the key to use for this menu's recent preferences |
* inMenuCommand - the command to use for these items |
* |
* Returns: OSStatus - error code ( 0 == no error ) |
*/ |
extern OSStatus RecentItems_PopulateMenu( MenuRef inMenuRef, CFStringRef inPrefKeyCFStringRef, MenuCommand inMenuCommand ); |
/************************************************************************* |
* |
* RecentItems_GetMenuItemFile( inMenuRef, inMenuItemIndex, ioFSRef ) |
* |
* Purpose: returns the FSRef for the specified menu item |
* |
* Inputs: inMenuRef - MenuRef for the recent menu |
* inMenuItemIndex - MenuItemIndex for the item in the menu |
* ioFSRef - address where to put the FSRef for this menu item |
* |
* Returns: OSStatus - error code ( 0 == no error ) |
*/ |
extern OSStatus RecentItems_GetMenuItemFile( MenuRef inMenuRef, MenuItemIndex inMenuItemIndex, FSRef* ioFSRef ); |
/************************************************************************* |
* |
* RecentItems_DisableOpenItems( inMenuRef ) |
* |
* Purpose: disable any menu items that are currently open |
* |
* Inputs: inMenuRef - MenuRef for the recent menu |
* |
* Returns: OSStatus - error code ( 0 == no error ) |
*/ |
extern OSStatus RecentItems_DisableOpenItems( MenuRef inMenuRef ); |
/************************************************************************* |
* |
* RecentItems_SetMaxItems( inMenuRef, inMax ) |
* |
* Purpose: Set the maximum number of recent items remembered for this menu |
* |
* Inputs: inMenuRef - MenuRef for the recent menu |
* inMax - the new maximum for this menu |
* |
* Returns: OSStatus - error code ( 0 == no error ) |
*/ |
extern OSStatus RecentItems_SetMaxItems( MenuRef inMenuRef, UInt16 inMax ); |
/************************************************************************* |
* |
* RecentItems_GetMaxItems( inMenuRef, outMax ) |
* |
* Purpose: Get the maximum number of recent items remembered for this menu |
* |
* Inputs: inMenuRef - MenuRef for the recent menu |
* |
* Outputs: outMax - where to store the max |
* |
* Returns: OSStatus - error code ( 0 == no error ) |
*/ |
extern OSStatus RecentItems_GetMaxItems( MenuRef inMenuRef, UInt16* outMax ); |
//**************************************************** |
#if PRAGMA_STRUCT_ALIGN |
#pragma options align=reset |
#elif PRAGMA_STRUCT_PACKPUSH |
#pragma pack( pop ) |
#elif PRAGMA_STRUCT_PACK |
#pragma pack( ) |
#endif |
#ifdef PRAGMA_IMPORT_OFF |
#pragma import off |
#elif PRAGMA_IMPORT |
#pragma import reset |
#endif |
#ifdef __cplusplus |
} |
#endif |
#endif // __RecentItems__ |
Copyright © 2006 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2006-10-09