ASPEN_GetNewsIndex

 

Related Topics

 

 

Purpose

Queries the Aspen Server’s news database headlines.

 

 

Call Syntax

#include <aspen.h>

AspenRequest(GLOBAL_session, ASPEN_GetNewsIndex, &news_input, &news_output);

 

 

Parameters

Input

The input is a pointer to an ASPEN_GET_NEWS_INDEX_INPUT structure.

 

Output

The output is a pointer to an ASPEN_GET_NEWS_INDEX_OUTPUT structure.

 

 

Structures

typedef struct

{

   int  category;

   int  language;

   char query_mode;

   char *query;

}ASPEN_GET_NEWS_INDEX_INPUT;

 

typedef struct

{

   short count;

   long  story_handles[ASPEN_MAX_STORY_HANDLES];

}ASPEN_GET_NEWS_INDEX_OUTPUT;

 

 

Remarks

None.

 

 

Return Value

ASPEN_NEWSQUERY_OK

News query completed successfully.

 

 

See Also

AspenRequest()

ASPEN_GET_NEWS_INDEX_INPUT

ASPEN_GET_NEWS_INDEX_OUTPUT

QM_STANDARD

QM_HEADLINE

ASPEN_MAX_STORY_HANDLES

 

 

Example

void CNewsDlg::OnSearch()

{

   ASPEN_GET_NEWS_INDEX_INPUT       news_input;

   ASPEN_GET_NEWS_INDEX_OUTPUT      *  news_output;

   ASPEN_GET_NUMBERED_STORY2_OUTPUT *  story_text;

   ASPEN_GET_STORY_INFO_OUTPUT      story_info;

   server_list                      *  slp = list;

   CString                          strText, strStory;

   char                             buf[50];

   int                              retval,i,w;

   long                             story_num;

   CNewsDlg                         newsdlg;

   GetDlgItemText(NEWS_ENTER_STORY_QUERY, strText);

   if (!strText.IsEmpty())

   {

      SuspendThread(GLOBAL_eventThreadHandle);

      SetDlgItemText(EDIT_NEWSHISTORY_TEXT, "");

      strcpy(buf,strText);

      SetDlgItemText(NEWS_ENTER_STORY_QUERY, "");

      news_input.query_mode = QM_HEADLINE;

      news_input.category = 0;  // Has to be 0 for a search all.

      news_input.language = -1;   // -1 for English.

      news_input.query = buf;

      CWnd *News = FindWindow(NULL,"AspenClient News");

      CListBox *pList = ((CListBox *)News->GetDlgItem(LIST_NEWS_STORY_SEARCH));

      pList->ResetContent();

      retval = AspenRequest(slp->server_session,

               ASPEN_GetNewsIndex,

               &news_input,

               &news_output);

      if (retval == ASPEN_NEWSQUERY_OK)

      {

         for(w=0;w < 16; w++)

         {

            StoryHandleSearch[w] = NULL;

         }

         for(i=0; i < ASPEN_MAX_STORY_HANDLES; i++)

         {

            retval = AspenRequest(slp->server_session, ASPEN_GetNewsStoryInfo, &news_output->story_handles[i], &story_info);

            if (retval == ASPEN_OK)

            {

               StoryHandleSearch[i] = news_output->story_handles[i];

               time_of_day = time(NULL);

               localTime = gmtime(&time_of_day);

               AspenTimeToANSITime(story_info.story_time, 0, 31, localTime, NULL);

               strftime(buf,sizeof(buf),"%H:%M",localTime);

               strStorySearch.Format(" %s\t%d\t%s",buf,

               story_info.story_number,story_info.title);

               newsdlg.WriteHeadlineSearch();

            }

         }

      }

   }

   ResumeThread(GLOBAL_eventThreadHandle);

}

 

©2006 Aspen Research Group, Ltd. All rights reserved. Terms of Use.