widget.h revision 13481
111538Sandreas.sandberg@arm.com// Copyright 2008, Google Inc. 211538Sandreas.sandberg@arm.com// All rights reserved. 311538Sandreas.sandberg@arm.com// 411538Sandreas.sandberg@arm.com// Redistribution and use in source and binary forms, with or without 511538Sandreas.sandberg@arm.com// modification, are permitted provided that the following conditions are 611538Sandreas.sandberg@arm.com// met: 711538Sandreas.sandberg@arm.com// 811538Sandreas.sandberg@arm.com// * Redistributions of source code must retain the above copyright 911538Sandreas.sandberg@arm.com// notice, this list of conditions and the following disclaimer. 1011538Sandreas.sandberg@arm.com// * Redistributions in binary form must reproduce the above 1111538Sandreas.sandberg@arm.com// copyright notice, this list of conditions and the following disclaimer 1211538Sandreas.sandberg@arm.com// in the documentation and/or other materials provided with the 1311538Sandreas.sandberg@arm.com// distribution. 1411538Sandreas.sandberg@arm.com// * Neither the name of Google Inc. nor the names of its 1511538Sandreas.sandberg@arm.com// contributors may be used to endorse or promote products derived from 1611538Sandreas.sandberg@arm.com// this software without specific prior written permission. 1711538Sandreas.sandberg@arm.com// 1811538Sandreas.sandberg@arm.com// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 1911538Sandreas.sandberg@arm.com// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 2011538Sandreas.sandberg@arm.com// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 2111538Sandreas.sandberg@arm.com// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 2211538Sandreas.sandberg@arm.com// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 2311538Sandreas.sandberg@arm.com// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 2411538Sandreas.sandberg@arm.com// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 2511538Sandreas.sandberg@arm.com// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 2611538Sandreas.sandberg@arm.com// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 2711538Sandreas.sandberg@arm.com// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 2811538Sandreas.sandberg@arm.com// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 2911538Sandreas.sandberg@arm.com// 3011538Sandreas.sandberg@arm.com// Author: preston.a.jackson@gmail.com (Preston Jackson) 3111538Sandreas.sandberg@arm.com// 3211538Sandreas.sandberg@arm.com// Google Test - FrameworkSample 3311538Sandreas.sandberg@arm.com// widget.h 3411538Sandreas.sandberg@arm.com// 3511538Sandreas.sandberg@arm.com 3611538Sandreas.sandberg@arm.com// Widget is a very simple class used for demonstrating the use of gtest. It 3711538Sandreas.sandberg@arm.com// simply stores two values a string and an integer, which are returned via 3811538Sandreas.sandberg@arm.com// public accessors in multiple forms. 3911538Sandreas.sandberg@arm.com 4011538Sandreas.sandberg@arm.com#import <string> 4111538Sandreas.sandberg@arm.com 4211538Sandreas.sandberg@arm.comclass Widget { 4311538Sandreas.sandberg@arm.com public: 4411538Sandreas.sandberg@arm.com Widget(int number, const std::string& name); 4511538Sandreas.sandberg@arm.com ~Widget(); 4613893Sgabeblack@google.com 4711538Sandreas.sandberg@arm.com // Public accessors to number data 4811538Sandreas.sandberg@arm.com float GetFloatValue() const; 4911538Sandreas.sandberg@arm.com int GetIntValue() const; 5011538Sandreas.sandberg@arm.com 5111538Sandreas.sandberg@arm.com // Public accessors to the string data 5211538Sandreas.sandberg@arm.com std::string GetStringValue() const; 5311538Sandreas.sandberg@arm.com void GetCharPtrValue(char* buffer, size_t max_size) const; 5411538Sandreas.sandberg@arm.com 5511538Sandreas.sandberg@arm.com private: 5611538Sandreas.sandberg@arm.com // Data members 5711538Sandreas.sandberg@arm.com float number_; 5811538Sandreas.sandberg@arm.com std::string name_; 5911538Sandreas.sandberg@arm.com}; 6011538Sandreas.sandberg@arm.com