/*
 *     Generated by class-dump 3.1.2.
 *
 *     class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2007 by Steve Nygard.
 */

struct CGColor;

struct CGPoint {
    float x;
    float y;
};

struct CGRect {
    struct CGPoint origin;
    struct CGSize size;
};

struct CGSize {
    float width;
    float height;
};

struct __GSFont;

struct _xmlAttr;

struct _xmlDict;

struct _xmlDoc {
    void *_field1;
    int _field2;
    char *_field3;
    struct _xmlNode *_field4;
    struct _xmlNode *_field5;
    struct _xmlNode *_field6;
    struct _xmlNode *_field7;
    struct _xmlNode *_field8;
    struct _xmlDoc *_field9;
    int _field10;
    int _field11;
    struct _xmlDtd *_field12;
    struct _xmlDtd *_field13;
    struct _xmlNs *_field14;
    char *_field15;
    char *_field16;
    void *_field17;
    void *_field18;
    char *_field19;
    int _field20;
    struct _xmlDict *_field21;
    void *_field22;
};

struct _xmlDtd;

struct _xmlNode {
    void *_field1;
    int _field2;
    char *_field3;
    struct _xmlNode *_field4;
    struct _xmlNode *_field5;
    struct _xmlNode *_field6;
    struct _xmlNode *_field7;
    struct _xmlNode *_field8;
    struct _xmlDoc *_field9;
    struct _xmlNs *_field10;
    char *_field11;
    struct _xmlAttr *_field12;
    struct _xmlNs *_field13;
    void *_field14;
    unsigned short _field15;
    unsigned short _field16;
};

struct _xmlNs;

/*
 * File: Applications/Stocks.app/Stocks
 */

@interface Application : UIApplication
{
}

- (void)applicationDidFinishLaunching:(id)fp8;
- (void)applicationWillSuspend;
- (id)nameOfDefaultImageToUpdateAtSuspension;

@end

@interface StocksController : NSObject
{
    UIWindow *_window;
    StocksView *_stocksView;
    StocksBacksideView *_backsideView;
    BOOL _showingBackside;
    BOOL _updateStocksOnFlipToFront;
    BOOL _updateChartOnFlipToFront;
    NSTimer *_updateTimer;
    BOOL _showsPercent;
    BOOL _isSuspended;
}

+ (id)sharedStocksController;
- (void)dealloc;
- (void)_startUpdateTimer;
- (void)_selectedStockDidChange;
- (void)_restoreSelectedStock;
- (void)reachabilityManager:(id)fp8 hostname:(id)fp12 isReachable:(BOOL)fp16;
- (void)run;
- (void)suspend;
- (void)updateStockData;
- (void)updateChartData;
- (BOOL)showsPercent;
- (void)setShowsPercent:(BOOL)fp8;
- (BOOL)showingBackside;
- (void)setShowingBackside:(BOOL)fp8;
- (id)backsideView;
- (void)animationDidStop:(id)fp8 finished:(BOOL)fp12;
- (id)stocksView;
- (id)selectedStock;
- (void)updateLoadingStatus;
- (void)didUpdateStocks;
- (BOOL)anyMarketIsClosed;
- (void)viewFullQuoteForStock:(id)fp8;

@end

@interface StocksWindow : UIWindow
{
}

- (void)handleStatusBarHeightChange;

@end

@interface StocksController (Internal)
- (void)_handleStatusBarHeightChange;
@end

@interface StocksView : UIView
{
    StocksListView *_stocksListView;
    StockChartView *_stockChartView;
    UIPushButton *_infoButton;
    UIPushButton *_viewStockButton;
    StocksStatusView *_statusView;
}

+ (id)_infoButtonImage;
+ (id)_viewStockButtonImage;
- (void)_infoButtonPressed;
- (void)_viewStockButtonPressed;
- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (struct CGRect)_stocksListViewFrame;
- (struct CGRect)_stockChartViewFrame;
- (struct CGRect)_infoButtonFrame;
- (struct CGRect)_viewStockButtonFrame;
- (struct CGRect)_statusViewFrame;
- (void)layoutSubviews;
- (id)stocksListView;
- (id)stockChartView;
- (void)showsPercentDidChange;

@end

@interface StocksListView : UIView
{
    StocksTable *_stocksTable;
    CornerClipView *_cornerClipViews[4];
}

- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (struct CGRect)_stocksTableFrame;
- (void)layoutSubviews;
- (int)numberOfRowsInTable:(id)fp8;
- (id)table:(id)fp8 cellForRow:(int)fp12 column:(id)fp16;
- (void)tableRowSelected:(id)fp8;
- (void)scrollerDidScroll:(id)fp8;
- (void)_stocksDidChange;
- (void)_stockWasAdded:(id)fp8;
- (id)selectedStock;
- (void)setSelectedStock:(id)fp8;
- (void)showsPercentDidChange;
- (void)displayScrollerIndicators;

@end

@interface CornerClipView : UIView
{
    struct CGRect _fromRect;
}

+ (id)_clipCornersImage;
- (id)initWithFromRect:(struct CGRect)fp8;
- (void)setFrame:(struct CGRect)fp8;
- (void)drawRect:(struct CGRect)fp8;

@end

@interface StocksListView (Internal)
- (void)_adjustClipCorners;
@end

@interface StockChartView : UIView
{
    ChartUpdater *_chartUpdater;
    int _selectedInterval;
    NSMutableArray *_intervalButtons;
    NSArray *_stockValues;
    NSError *_error;
    float _chartMinClose;
    float _chartMaxClose;
}

+ (id)_backgroundImage;
+ (id)_chartLinesImage;
+ (struct __GSFont *)_intervalButtonFont;
+ (struct __GSFont *)_loadingFont;
+ (struct __GSFont *)_axisLabelFont;
+ (id)_chartDataTimeZone;
- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (struct CGRect)_chartRect;
- (void)_drawHorizontalChartLines;
- (void)_drawVerticalAxis;
- (void)_drawLabels:(id)fp8 withPositions:(id)fp12;
- (void)_drawMonthLabelsWithInterval:(unsigned int)fp8 forceNumericMonths:(BOOL)fp12;
- (void)_drawMonthLabelsWithInterval:(unsigned int)fp8;
- (void)_drawDayLabels:(unsigned int)fp8 interval:(unsigned int)fp12;
- (void)_drawHourLabels;
- (void)_drawHorizontalAxis;
- (void)_drawChartInRect:(struct CGRect)fp8;
- (void)_drawBoundsCenteredString:(id)fp8;
- (void)_drawLoading;
- (void)_drawError;
- (id)_selectedStock;
- (void)drawRect:(struct CGRect)fp8;
- (void)clearData;
- (void)reloadData;
- (BOOL)isLoading;
- (BOOL)hadError;
- (void)chartUpdater:(id)fp8 didReceiveValues:(id)fp12 minTime:(double)fp16 maxTime:(double)fp24 minClose:(float)fp32 maxClose:(float)fp36;
- (void)chartUpdater:(id)fp8 didFailWithError:(id)fp12;
- (void)layoutSubviews;

@end

@interface StockChartView (Internal)
- (void)_chooseInterval:(id)fp8;
- (void)_setInterval:(int)fp8;
@end

@interface StocksListTableCell : UITableCell
{
    Stock *_stock;
    BOOL _isBlue;
    UIImageView *_backgroundView;
    UITextLabel *_symbolLabel;
    UITextLabel *_priceLabel;
    StockChangeButton *_changeButton;
}

+ (struct CGColor *)_textShadowColor;
- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (void)_changeShowsPercent;
- (struct CGRect)_symbolLabelFrameWithPriceWidth:(float)fp8;
- (struct CGRect)_changeButtonFrame;
- (struct CGRect)_priceLabelFrame;
- (void)layoutSubviews;
- (void)setSelected:(BOOL)fp8 withFade:(BOOL)fp12;
- (void)_stockDidChange;
- (id)stock;
- (void)setStock:(id)fp8;
- (void)setBlue:(BOOL)fp8;
- (void)updateChangeAmount;

@end

@interface StocksListTableCell (Internal)
+ (id)_grayRowBackgroundImage;
+ (id)_blueRowBackgroundImage;
+ (id)_selectedRowBackgroundImage;
+ (id)_selectedTopRowBackgroundImage;
+ (id)_upChangeButtonImage;
+ (id)_downChangeButtonImage;
+ (struct __GSFont *)_symbolFont;
- (void)_updateRowBackground;
@end

@interface StocksTable : UITable
{
}

- (id)initWithFrame:(struct CGRect)fp8;
- (struct CGRect)frameOfCellAtRow:(int)fp8 column:(int)fp12;
- (BOOL)canSelectRow:(int)fp8;

@end

@interface Stock : NSObject
{
    NSString *_symbol;
    NSString *_companyName;
    NSString *_exchange;
    float _price;
    float _change;
    float _percentChange;
    BOOL _marketIsOpen;
    NSURL *_infoURL;
    NSCalendarDate *_dateLastUpdated;
}

+ (id)_localeStocks;
+ (id)_defaultStockDictionaries;
+ (void)_loadStockDictionaries:(id)fp8 intoArray:(id)fp12;
+ (id)allStocks;
+ (id)stockWithSymbol:(id)fp8;
+ (void)addStock:(id)fp8;
+ (void)removeStock:(id)fp8;
+ (void)moveStockFromIndex:(int)fp8 toIndex:(int)fp12;
+ (id)displayNameForStockWithSymbol:(id)fp8 companyName:(id)fp12 exchange:(id)fp16;
+ (void)saveChangesIfNecessary;
- (id)initWithDictionary:(id)fp8;
- (void)dealloc;
- (id)archiveDictionary;
- (id)symbol;
- (float)price;
- (float)change;
- (float)percentChange;
- (BOOL)marketIsOpen;
- (id)infoURL;
- (id)displayName;
- (id)dateLastUpdated;
- (void)updateWithDictionary:(id)fp8 forDate:(id)fp12;

@end

@interface Stock (Internal)
+ (void)_scheduleSaveChanges;
+ (void)_cancelSaveChanges;
+ (void)_saveChanges;
@end

@interface NSDictionary (StocksExtensions)
- (float)_stocks_floatForKey:(id)fp8;
@end

@interface StockChangeButton : UIPushButton
{
}

+ (struct __GSFont *)_changeFont;
- (id)initWithFrame:(struct CGRect)fp8;
- (void)_recomputeFont;
- (void)setTitle:(id)fp8;
- (void)setFrame:(struct CGRect)fp8;
- (void)drawButtonPart:(int)fp8 inRect:(struct CGRect)fp12;

@end

@interface StockUpdater : XMLHTTPRequest
{
    NSError *_lastError;
}

+ (id)sharedStockUpdater;
- (void)_setLastError:(id)fp8;
- (void)dealloc;
- (void)update;
- (BOOL)hadError;
- (void)processDocument:(struct _xmlDoc *)fp8;
- (void)didProcessDocument;
- (void)failWithError:(id)fp8;

@end

@interface StockUpdater (Internal)
- (void)_processQuoteElement:(struct _xmlNode *)fp8 forDate:(id)fp12;
@end

@interface ChartUpdater : XMLHTTPRequest
{
    id _delegate;
    NSString *_symbol;
    int _interval;
    NSMutableArray *_stockValues;
    double _minTime;
    double _maxTime;
    float _minClose;
    float _maxClose;
}

+ (id)_rangeStringForInterval:(int)fp8;
- (id)initWithDelegate:(id)fp8;
- (void)updateChartForStock:(id)fp8 interval:(int)fp12;
- (void)willProcessDocument;
- (void)didProcessDocument;
- (void)processDocument:(struct _xmlDoc *)fp8;
- (void)failWithError:(id)fp8;

@end

@interface StockValue : NSObject
{
    double absoluteTime;
    float close;
}

- (id)description;

@end

@interface ChartUpdater (Internal)
- (void)_processPointElement:(struct _xmlNode *)fp8;
@end

@interface StockPickerView : UIView
{
    UIImageView *_backgroundView;
    UINavigationBar *_navigationBar;
    UIPreferencesTextTableCell *_textCell;
    UICompletionTable *_completionTable;
    UIKeyboard *_keyboard;
    NSTimer *_validationTimer;
    NSArray *_validatedSymbols;
    BOOL _isValidatingSymbol;
    BOOL _isShowing;
    SymbolValidator *_symbolValidator;
}

- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (void)_applicationResumed;
- (void)didShow;
- (void)willHide;
- (BOOL)isLoading;
- (void)_setValidatedSymbols:(id)fp8 updateStatus:(BOOL)fp12;
- (void)layoutSubviews;
- (void)navigationBar:(id)fp8 buttonClicked:(int)fp12;
- (unsigned int)numberOfCompletionsInTable:(id)fp8;
- (id)table:(id)fp8 completionAtIndex:(unsigned int)fp12;
- (void)table:(id)fp8 didSelectCompletionAtIndex:(unsigned int)fp12;
- (void)symbolValidator:(id)fp8 didValidateSymbols:(id)fp12;
- (void)symbolValidator:(id)fp8 didFailWithError:(id)fp12;
- (BOOL)textFieldShouldEndEditing:(id)fp8;

@end

@interface StockPickerView (Internal)
- (void)_symbolFieldTextDidChange:(id)fp8;
- (void)_scheduleValidation;
- (void)_cancelValidation;
- (void)_validateSymbol;
- (void)_showCompletions;
- (void)_hideCompletions;
- (void)_updateNavigationBarPrompt;
- (void)_setIsValidatingSymbol:(BOOL)fp8;
@end

@interface StocksBacksideView : UIView
{
    UIImageView *_backgroundView;
    UINavigationBar *_navigationBar;
    StocksPreferencesTable *_table;
    UISegmentedControl *_segmentedControl;
    UIImageView *_logoView;
    BOOL _updatingUI;
    StockPickerView *_stockPickerView;
    BOOL _animatingStockPickerView;
    BOOL _suppressNotifications;
}

- (id)initWithFrame:(struct CGRect)fp8;
- (void)_logoClicked;
- (void)dealloc;
- (void)layoutSubviews;
- (void)updateNavigationBarEnabledState;
- (void)updateUI;
- (BOOL)isLoading;
- (int)numberOfGroupsInPreferencesTable:(id)fp8;
- (int)preferencesTable:(id)fp8 numberOfRowsInGroup:(int)fp12;
- (id)preferencesTable:(id)fp8 cellForGroup:(int)fp12;
- (id)preferencesTable:(id)fp8 cellForRow:(int)fp12 inGroup:(int)fp16;
- (void)table:(id)fp8 deleteRow:(int)fp12;
- (BOOL)table:(id)fp8 canDeleteRow:(int)fp12;
- (void)table:(id)fp8 movedRow:(int)fp12 toRow:(int)fp16;
- (BOOL)table:(id)fp8 canMoveRow:(int)fp12;
- (int)table:(id)fp8 moveDestinationForRow:(int)fp12 withSuggestedDestinationRow:(int)fp16;
- (void)showStockPickerAnimated:(BOOL)fp8;
- (void)finishedFlipToStockPicker;
- (void)_showStockPickerAnimationDidStop:(id)fp8;
- (void)hideStockPicker;
- (void)_hideStockPickerAnimationDidStop:(id)fp8;
- (void)_stockListChanged;
- (void)_stockWasAdded:(id)fp8;
- (void)navigationBar:(id)fp8 buttonClicked:(int)fp12;
- (void)segmentedControl:(id)fp8 selectedSegmentChanged:(int)fp12;

@end

@interface StocksPreferencesTableCell : UIPreferencesTableCell
{
}

- (void)removeControl:(id)fp8 willRemoveTarget:(id)fp12;
- (void)_removeRowAnimationDidStop:(id)fp8;

@end

@interface SymbolValidator : XMLHTTPRequest
{
    id _delegate;
    NSMutableArray *_validatedSymbols;
}

- (id)initWithDelegate:(id)fp8;
- (void)validateSymbol:(id)fp8;
- (void)cancel;
- (void)willProcessDocument;
- (void)processDocument:(struct _xmlDoc *)fp8;
- (void)didProcessDocument;
- (void)failWithError:(id)fp8;

@end

@interface SymbolValidator (Internal)
- (void)_processQuoteElement:(struct _xmlNode *)fp8;
@end

@interface XMLHTTPRequest : NSObject
{
    NSURLRequest *_request;
    NSURLConnection *_connection;
    NSMutableData *_rawData;
}

+ (unsigned int)uniqueQueryID;
- (void)dealloc;
- (void)loadRequest:(id)fp8;
- (void)cancel;
- (BOOL)isLoading;
- (void)connection:(id)fp8 didReceiveData:(id)fp12;
- (void)connectionDidFinishLoading:(id)fp8;
- (void)connection:(id)fp8 didFailWithError:(id)fp12;
- (void)willProcessDocument;
- (void)didProcessDocument;
- (void)processDocument:(struct _xmlDoc *)fp8;
- (void)failWithError:(id)fp8;

@end

@interface NSString (StockExtensions)
- (id)_stocksTrimmedString;
@end

@interface StocksPreferencesTable : UIPreferencesTable
{
}

- (BOOL)canSelectRow:(int)fp8;

@end

@interface ChartIntervalButton : UIPushButton
{
}

+ (id)_titleForInterval:(int)fp8;
- (id)initWithFrame:(struct CGRect)fp8;
- (void)setTag:(int)fp8;
- (void)setSelected:(BOOL)fp8;
- (void)drawRect:(struct CGRect)fp8;

@end

@interface StocksStatusView : UIView
{
}

+ (struct __GSFont *)_plainFont;
+ (struct __GSFont *)_boldFont;
- (id)initWithFrame:(struct CGRect)fp8;
- (void)dealloc;
- (void)_drawEtchedString:(id)fp8 atPoint:(struct CGPoint)fp12 withFont:(struct __GSFont *)fp20;
- (void)drawRect:(struct CGRect)fp8;
- (void)_stocksDidUpdate;
- (void)_selectedStockDidChange;

@end


